-
Просто делать делать необоснованные утверждения? Photoshop — 532 ms, SmoothResize — 2312ms.
Да, сам не пробовал сравнивать. Кстати, а где у Фотошопа встроенный таймер (и какая версия нужна)? Версия SmoothResize моя или стандартная?
-
> [100] Sapersky (16.10.07 09:26) > Кстати, а где у Фотошопа встроенный таймер и какая версия нужна
В программе ProcessExplorer. Любая.
> Версия SmoothResize моя или стандартная? Из комплекта FastDIB. ([20])
-
> [100] Sapersky (16.10.07 09:26) > Версия SmoothResize моя или стандартная?
Даже если твоя в 2 раза быстрее (как здявлено) она все равно в 2 раза медленнее, чем в фотошопе. Я склонен полагать, что в фотошопе функции всеже менее универсальны, просто их там туча, для каждого формата пикселей и фильтра своя. Соответственно они более оптимизированы.
-
У меня получилось - в 1.5 раз медленнее Фотошопа. В принципе, приемлемо, тем более что я осознанно отказался от некоторых оптимизаций в пользу компактности кода. Фирме Adobe - миль пардон, недооценил её продукт.
-
В фотошопе не только под все форматы изображений сделаны оптимизации, но и под разные процессоры и с использование MMX, SSE и т.д.
-
а кишки битмапа хранятся в нем "задом-наперед"?
-
> [105] antonn © (27.10.07 13:24)
Есть формат с обратным порядком строк, пиксели насколько помню всегда слева направо.
-
аа, точно, по вертикали разный ипиксели в BGR лежат ну пиксели то обратно перевернуть не проблема: bswap eax
ror eax, 8 у меня со строками какая то фигня происходит, на две больше по вертикали отсчитывает :)
-
вернемся к истокам
>Так как все же качественно (!) и быстро (!) масштабировать картинку
почему бы не попробовать directX? что-то, а скорость там будет.
-
> почему бы не попробовать directX? что-то, а скорость там > будет.
а если на машине нет нужной версии DX? А если еще со встроенным решением...
-
> почему бы не попробовать directX? что-то, а скорость там > будет.
Ты картинку туда загонять будешь дольше, чем масштабировать. А потом, какой смысл использовать DirectX если вывод картинки на экран не планируется.
-
> homm © (16.10.07 07:03) [96]
тут какая то ерунда выяснилась... в коде [96]: jnz @LM2
add esi, Delta
add esi, 4
pop eax
sub eax, 1
jnz @LM1 без выделеного картинка сдвигается. а вроде ведь работало... вот теперь сижу и думаю, а код "работающий" или очень "нежный"? :)
-
хм, нет, все равно ерунда, ниче не понимаю %) на маленьких изображениях все пучком (64*64), на больших - сдвиг
-
аа, доперло %) если нечетное кол-во пикселей по Х, то сдвигается... блин :(
-
> [113] antonn © (10.11.07 23:23) > если нечетное кол-во пикселей по Х, то сдвигается...
Там вообще код спецефический, был сделан для строго определенной подачи данных, в которой ошибки быть не должно.
-
почему бы не попробовать directX? что-то, а скорость там будет.Ну вот для иллюстрации выкладываю ещё раз свой тест: http://sapersky.narod.ru/files/GDI_vs_DDraw_vs_FastLIB.rarДля DX в заголовке формы после "+" пишется время создания поверхности и копирования в неё картинки. Претензии по качеству аппаратного масштабирования (которое, действительно, неважное, ближе к Bilinear, чем к SmoothResize/StretchBlt) просьба предъявлять производителям видеокарт. Бороться с плохим качеством можно выводом через 3D с использованием, например, трилинейной фильтрации, или хотя бы просто мип-мэппингом (который можно организовать и вручную с софтвером/DDraw).
-
Помогите. Необходимо запихать BitMap картинку в массив. Как это сделать?
-
> [116] Андрей (27.11.07 00:51)
Читай про PixelFormat и ScanLine.
-
на предыдущей странице ведь есть...
-
А битмап - это и так массив :)
|