...

пятница, 8 ноября 2013 г.

Хитрый способ создания анимированного jpeg'а



Сегодня с успехом осуществил свой эксперимент по сжатию гифок. Меня давно уже раздражает отсутствие специального формата для сжатия анимированных файлов. Как так, gif есть, а анимированного jpeg нет, хотя для большинства существующих гифок подходит именно jpeg.

От существующих решений, мое отличается тем, что это один файл svg, который можно вставить на страницу через тэг <img>


Под хабракатом находится сжатая версия вот этой гифки tfirma.name/public/leprosorium.ru/cosss_gif/0004w00e.gif

Оригинал весит 6 мегабайт, сжатая версия — 1,3 мегабайта.


Осторожно! Данное решение имеет существенный недостаток, который выражается в высокой загрузке процессора (около 25%). Происходит это только во время загрузки файла, около 1-2 секунд, потом все возвращается в норму.



Работает это очень просто. Делается большой спрайт в формате jpeg. Внутри svg спрайт вставляется в base64. Анимация происходит средствами svg. Никаких скриптов.


Из минусов только вот этот баг с загрузкой процессора + неподдержка формата svg некоторыми браузерами.

Тормоза возможно связаны с декодированием base64 и (мне, по крайней мере) не доставляют больших неудобств.


Плюсы очевидны (по сравнение с gif): более быстрая загрузка, глубина цвета не ограничена 256 битами, что в свою очередь позволяет избежать эффекта постеризации, написать сборщик в данный «формат» довольно простая задача.


Хотелось бы получить фидбек на тему взлетит/не взлетит, возможные улучшения + просто потешить свое ЧСВ :)


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:



Комментариев нет:

Отправить комментарий