воскресенье, 24 августа 2008 г.

Gif оптимизация

Наконец-то кошмарному потреблению GDI объектов для отрисовки gif похоже приходит конец. Наткнулся на замечательнейшую библиотечку, умеющую читать gif-файлы (правда не совсем корректно, пришлось изрядно попотеть, чтобы заставить ее работать на уровне TGifImage). Кстати спасибо fd00ch за наводку ;)
Думаю в следующем релизе или через релиз эта библиотека будет внедрена в инфиум (а также в qip2005) и квип станет работать еще быстрее;) (может быть даже уберем ограничение в 20 одновременно отображаемых смайлов)

Как итог сравнительная таблица на 7 тысяч одинаковых смайлов:
старый движок смайлов - занимает 129 Мб оперативной памяти и от 460 GDI объектов (число растет при увеличении окна на весь экран и при последующих изменениях размера)
новый движок - 9-11 МБ оперативной памяти и 62 GDI объекта (причем они относятся к самому окну, сами смайлы не потребляют GDI вообще), число не изменяется ни при каких условиях.

на 7 тысячах разных смайлов:
старый движок занял 190 МБ оперативной памяти и около 5 тысяч GDI объектов. при попытке поизменять размеры тестовый проект вылетел, ибо число GDI росло в геометрической прогрессии.
новый движок прекрасно загрузил все файлы, заняв 250 МБ оперативной памяти (и не заняв ни на 1 GDI объект более предыдущего теста).

Как говорится, эффект налицо. Не думаю, что найдутся извращенцы, одновременно за раз решившие послать 7 тысяч абсолютно разных смайлов:) так что отмена ограничения вполне реальна.

Теперь нужно отполировать имеющиеся наработки и начинать внедрять:) Молитесь за меня, друзья:)

8 комментариев:

Shedko комментирует...

Сега, ты маньяк =)

В хорошем смысле конечно =)

Раньше хоть понимали что много смайлов - тормоза, теперь же будет полный смайло-флуд =)

kOrBeN_DaLlAz комментирует...

хорошая новость если снимете ограничение на количество одновременно показываемых смайлов

Анонимный комментирует...

А что за новая библиотека? Очень интересно.

Спасибо.

Анонимный комментирует...

Я вот всё думаю - а вы народ (который qip пишет ) про FastMM слышали?

Sega-Zero комментирует...

2 Анонимный 1:
Библиотека называется Vampire Imaging Library. Только то, что сейчас лежит там очень далеко от полной поддержки gif.

2 Анонимный 2:
Неа, мы живем в тундре и таких умных словов даже не слышали ога.

Анонимный комментирует...

Без зла сказал.. а ты обиделся- просто давно проект существует - а как то в трудах ваших он (fastmm)не заметен. Тока если в плагинах... иногда проскакивает

Dmitry комментирует...

Сегодня хотел обновить свой инфиум до версии 9015, но при инсталяции доктор Веб кричит, что обнаружен троян!!!!! Sega-Zero мож это баг?

Salen комментирует...

отличная новость.. побольше таких)
ждем релиза)