Pull to refresh

Так ли хорош cacheAsBitmap?

Reading time1 min
Views2.8K
Ранее я уже писал о быстродействии отрисовки во флэше и о cacheAsBitmap'е в частности.

Но сейчас передо мной встал конкретный вопрос — что быстрее — выставить cacheAsBitmap = true, или же перевести картинку в растр и загрузить ее как PNG. При условии, что картинка статична, но очень сильно нагружена разными градиентами и прочим.

Для решения вопроса я набросал небольшой тест.

Условия.


  • Имеется некая игровая сцена, загруженная передвигающимися объектами.
  • Поверх нее выводятся статичные элементы интерфейса с кучей радиальных градиентов, кривых, альф и т.п. (стоит отметить, что альфы не выходят за пределы клипа и не требуют микширования с основной сценой)
  • В тесте мы меняем способ отрисовки только статичных элементов интерфейса. Движущиеся динамические просто имитируют нагрузку.

Результаты.

  • вектор, без кэша: 33 fps
  • cache as bitmap: 46 fps
  • png: 46 fps
  • отключенная картинка: 46 fps

Вывод.


Вывод прост — можете смело пользоваться cacheAsBitmap и не бояться просадок быстродействия.

Более того — картинка с cacheAsBitmap настолько быстро выводится на экран, что быстродействие не отличается от того варианта, когда эта картинка не выводится вообще.

Стоит только помнить, что cacheAsBitmap не будет работать в случаях:
  • вращения объекта
  • изменения масштаба
  • изменения альфы
Tags:
Hubs:
Total votes 12: ↑8 and ↓4+4
Comments11

Articles