Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > dimarik

Оценить эту запись

GIF to MovieClip

Запись от dimarik размещена 24.04.2010 в 01:44
Обновил(-а) dimarik 27.02.2011 в 13:04

Немного озадачивался темой GIF формата. С темой p=95 на bytearray.org сильно знаком. Именно эта штука вдохновила меня сделать совершенно по-другому.

Все ниже посвящено изображению в GIF-формате.

Сначала я затеял глубокую оптимизацию вышеупомянутого GIFPlayer'а. Но результат, если и улучшился, то не более чем на 20%. Картинка в 1 млн. пикселей (1 000 x 1 000 px) открывалась чуть меньше секунды. Такой результат меня не радовал. Ведь было с чем сравнивать. Если эту же (однокадровую картинку) загружать обычным Loader'ом, то время декодирования катастрофически падало до ~40-60 ms.

Решил в рантайме собирать SWF, которая содержит наследника MovieClip, шейпы в кадрах которого — это изображения кадров оригинального GIF-файла. Название класса задается разработчиком или повторяет URI gif-ресурса. SWF загружается через Loader#loadBytes. Инстанцировать экземпляр можно по имени через getDefinition или getDefinitionByName.

Где-то в конце списка демки есть файл (осторожно! трафик 2+ Mb)(~2 370 000 px ). Время декодирования ~60 ms на моей машинке.


Демку надо скачать и запустить локально.
Всего комментариев 3

Комментарии

Старый 24.04.2010 01:53 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
мощно. со слов я сперва не оценил =) :congr:
Старый 24.04.2010 02:31 dimarik вне форума
dimarik
 
Аватар для dimarik
Ну начал я все-таки с картинок, чтобы брать их из domain memory по getDefinition. Голубая мечта детства - улучшить твой ResourceManager ) а заодно и HeuristicLoader )
Старый 24.04.2010 03:16 BlooDHounD вне форума
BlooDHounD
 
Аватар для BlooDHounD
у меня всё переделано уже напрочь =) в аську стукнись
 

 


Часовой пояс GMT +4, время: 11:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.