Page 3 of 5

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 18:03
by ccaid

Latest post of the previous page:

вообще-то в документации это не утаивается. ее ж надо прочесть и понять :D
кроме того, в заголовке индицируется какой декодер и какой просмотрщик используются — там все как на ладони

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 18:40
by Max Rusov
John Doe wrote:Выходит, и как декодер он не универсален, не может показывать через произвольный модуль вывода?
Именно. Это self-display декодер, через DirectX он не выводит.

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 19:48
by John Doe
ccaid wrote:вообще-то в документации это не утаивается. ее ж надо прочесть и понять :D
В описании плагина сказано "имеет ряд преимуществ". Из этого может возникнуть впечатление будто GDIPlus может полностью заменить GDI+.pvd
ccaid wrote:кроме того, в заголовке индицируется какой декодер и какой просмотрщик используются — там все как на ладони
А это может быть воспринято пользователем как баг.

Считаю, что в описании надо специально подчеркнуть тот факт, что модуль в отличие от GDI+.pvd — не является универсальным модулем вывода, и может выводить только то что сам декодировал.

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 20:24
by Max Rusov
В шапке темы по PictureView 2 это подчеркнуто. Именно в такой формулировке :)

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 21:18
by ccaid

Ы? ©
John Doe wrote:
ccaid wrote:кроме того, в заголовке индицируется какой декодер и какой просмотрщик используются — там все как на ладони
А это может быть воспринято пользователем как баг.
:shock:

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 21:18
by John Doe
Max Rusov wrote:В шапке темы по PictureView 2 это подчеркнуто. Именно в такой формулировке :)
Во-первых шапка PictureView это далеко не документация GDIPlus
А во-вторых, это я сам только что туда добавил, и вовсе не уверен что формулировка безупречна.

Непонятно как такие self-display-модули правильно называть.

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 21:29
by ccaid
Max Rusov
кстати, раз уж субплагин оказался в центре внимания, хочу прояснить давно имеющийся вопрос. фотки с портретной ориентацией GDIPlus научился поворачивать, но на их показ он тратит прмерно на порядок больше времени. там какие-то сложности, или это только у меня, или никто не пожаловался?

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 21:49
by Maximus5
Ну так на поворот время и тратится.

oftop: Вообще, когда-нибудь picview научится крутить любые изображения, тогда время будет тратить он...

Re: GDIPlus — Субплагин PictureView 2

Posted: Thu 03 Jun, 2010 22:20
by John Doe
ccaid
Gdi+.pvd - ... декодирование и вывод
GdiPlus.pvd - ... декодирование и вывод
Так в чём же разница?
А это может быть воспринято пользователем как баг
Пользователь собственноручно выбрал в настройках модуль вывода DirectX. А в заголовке почему-то отображается GDIPlus.
ccaid wrote:фотки с портретной ориентацией GDIPlus научился поворачивать, но на их показ он тратит прмерно на порядок больше времени. там какие-то сложности, или это только у меня, или никто не пожаловался?
У всех так. Подозреваю, основную задержку вносит масштабирование, ведь после поворота картинку надо дополнительно уменьшить.

Re: GDIPlus — Субплагин PictureView 2

Posted: Fri 04 Jun, 2010 05:23
by ccaid
John Doe wrote:ccaid
Gdi+.pvd - ... декодирование и вывод
GdiPlus.pvd - ... декодирование и вывод
Так в чём же разница?
полагаю, в том, о чем уже писали — GdiPlus это моноблок, и используя его декодирование, нельзя отказаться от его вывода.
а Gdi+ это два независимых подмодуля, декодер можно использовать с другим отображателем, отображатель можно использовать для других декодеров.
если что, авторы меня поправят
согласен, что, возможно, эти нюансы в доках недостаточно отражены
John Doe wrote:
ccaid wrote:фотки с портретной ориентацией GDIPlus научился поворачивать, но на их показ он тратит прмерно на порядок больше времени. там какие-то сложности, или это только у меня, или никто не пожаловался?
У всех так. Подозреваю, основную задержку вносит масштабирование, ведь после поворота картинку надо дополнительно уменьшить.
для in_apl нет никакой разницы
а без поворота разве не нужно масштабировать?
вот наблюдения за выводимыми в заголовок временами:
если быстро листать, то большие величины у первого (открытие) и последнего (отображение) времени
если размеренно листать, то за счет кеширования файлов последнее время становится небольшим
декодирование и перенос в обоих случаях небольшие

Re: GDIPlus — Субплагин PictureView 2

Posted: Fri 04 Jun, 2010 08:11
by John Doe
ccaid wrote:
John Doe wrote:
ccaid wrote:фотки с портретной ориентацией GDIPlus научился поворачивать, но на их показ он тратит прмерно на порядок больше времени. там какие-то сложности, или это только у меня, или никто не пожаловался?
У всех так. Подозреваю, основную задержку вносит масштабирование, ведь после поворота картинку надо дополнительно уменьшить.
для in_apl нет никакой разницы
а без поворота разве не нужно масштабировать?
При повороте картинку надо уменьшить в 4 раза сильнее, возможно сам алгоритм масштабирования у APL более быстр.
В любом случае, эта особенность не есть специфичной для GDIPlus, проверьте сами: заранее поверните те же фотографии в любой программе, и получите ту же задержку при показе.

Re: GDIPlus — Субплагин PictureView 2

Posted: Fri 04 Jun, 2010 09:01
by Max Rusov
Пришлите несколько примеров больших фотографий с информацией об ориентации в EXIF заголовке, я посмотрю, можно ли там что-нибудь ускорить.

Re: GDIPlus — Субплагин PictureView 2

Posted: Fri 04 Jun, 2010 20:49
by ccaid
John Doe wrote:В любом случае, эта особенность не есть специфичной для GDIPlus, проверьте сами: заранее поверните те же фотографии в любой программе, и получите ту же задержку при показе.
так я ж не поленился, проверил — ваша гипотеза не подтвердилась.
заранее повернутые листались быстрее. при этом показ повернутых происходил причудливо: сначала на месте будущего изображения на долю секунды выводилось неповернутое (или повернутое на 180°?), и тут же замещалось правильным. видимо эскиз EXIF, подумал я и удалил все метаданные. этот третий набор фоток листался примерно так же быстро, как и второй, но определенно медленее „наводился на резкость”.

в процессе всех этих тестирований я ориентировался на субъективные ощущения комфортности задержек при максимально-быстрой смене изображений. времена, которые выводятся в заголовок не очень помогают. а вот ощущения, что декодер №1 перебирает фотки с минимальной задержкой, а декодер №2 держит паузу как актер — очень четко фиксируются.

тем не менее, времена в заголовке тоже информативны. у тормозящих картинок первое время вместо единиц миллисекунд становится ~450-500 мс. такое впечатление — неповернутую картинку подготовили, положили в кэш, уже надо бы выводить — а тут обнаружили, что ее надо поворачивать, и все поновой. может быть в деталях я неправ, но выглядит как двойная работа.

новый GDI+ очень хорошо ведет себя в плане автоповорота по EXIF

Re: GDIPlus — Субплагин PictureView 2

Posted: Sat 05 Jun, 2010 08:34
by Imp_GL
Сейчас этот субплагин всё ещё актуален? Или PictureView 2 уже и сам не хуже показывает?

Для x64 нужна своя версия субплагина?

Re: GDIPlus — Субплагин PictureView 2

Posted: Sat 05 Jun, 2010 10:14
by Sim
PictureView2 должен работать как минимум не хуже чем PictureView оригинальной версии, а пока это не так, к сожалению.

Re: GDIPlus — Субплагин PictureView 2

Posted: Sat 05 Jun, 2010 10:18
by John Doe
Во-первых, вы темой ошиблись, а во-вторых, громкие слова и смелые обобщения тут принято фактами подтверждать.
Ждём от вас чётко оформленного тикета(ов) на официальном багтрекере.