Советы по оптимизации приложения Flash Lite 2.x

Как разработчикам, вам необходимо знать как эффективнее оптимизировать Flash Lite приложение под определенные требования, такие как использование памяти, размера файла и ActionScript кода.

Вот небольшой список правил для разработки мобильного контента.

Следите за использованием памяти на устройстве:

* используйте отчеты (Publish settings -> generate size report)
* используйте встроенную функцию FSCommand2(“GetTotalPlayerMemory”) чтобы узнать общий объем доступной памяти.
* используйте функцию FSCommand2(“GetFreePlayerMemory”) для определения свободной памяти.

Оптимизируйте контент:

* Не используйте вектора с большим количеством направляющих и контрольных точек.
* Старайтесь использовать примитивные формы — такие как круги, квадраты, линии.
* Экспериментируйте с конвертацией векторов в JPEG. Тестируйте, как это скажется на быстродействии.
* По возможности старайтесь использовать оптимизированные JPEG меньшего размера. Используйте Photoshop или Fireworks для настройки качества изображения и установки подходящей глубины цветопередачи.
* шспользуйте PNG если нужна прозрачность в том случае, когда нельзя обойтись маскированием обычного JPEG. В других случаях старайтесь избегать этого формата.
* При использовании прозрачных PNG изображений удостоверьтесь что они не перекрывают друг друга. Обработка одной прозрачности через другую заметно нагрузит процессор.
* Экспериментируйте с конвертацией JPEG в вектора (используя команду Trace Bitmap) и посмотрите на результат.

Частота кадров:

* Большинство телефонов проигрывает Flash с частотой 12-15 кадров(fps)
o Низкая = 6-12 fps
o Средняя = 12-15 fps
o Высокая = 15+ fps
* Во время разработки ограничьте частоту смены кадров до минимально приемлемой величины и протестируйте ее на устройстве. Это даст вам возможность откалибровать скорость вашей анимации и частоту кадров.
* При публикации окончательного варианта файла, устанавливайте частоту смены кадров меньше чем 20 fps. Это поможет вам избежать искусственного снижения производительности из-за невозможности устройства воспроизводить с более высокой, чем доступна для него.

Калибровка анимации:

* Градиенты и прозрачность дают большую нагрузку для процессор, поэтому их следует избегать. Старайтесь эмитировать прозрачность используя JPEG и маски.
* Установите наиболее оптимальное качество анимации во время проигрывания при помощи команд
o fscommand2(«SetQuality», «low»);
o fscommand2(«SetQuality», «high»);
* Важно помнить о том, что при обычном мобильном интерфейсе (UI), пользователь может фокусироваться только на одном объекте.
* Продумайте эту область фокусировки и сделайте для нее хороший дизайн и анимацию. В то же время уменьшите эффекты в других частях экрана.
* Останавливайте фоновую анимацию во время действий пользователя.
* Быстродействие будет напрямую зависеть от размера перерисовываемой области. избегайте частого обновления всей экранной области.
* избегайте одновременного перемещения нескольких объектов. Уменьшайте их количество или делайте анимацию по очереди (одна закончилась — другая началась)

Оптимизация кода:

* Временная шкала:
o Меньше используйте циклов располагающихся на кадрах
o Останавливайте из как только они отработают
o Распределите большие участки кода на несколько кадров там, где это возможно
* ActionScript
o Меньше используйте программную анимацию
o избегайте эмуляцию массивов
o избегайте операции со строками
* Скрипт состоящий из сотен строк кода будет больше нагружать процессор, чем timeline с сотней кадров и анимацией.
* шспользуйте вызов кадров с кодом ActionScript только когда это необходимо а также избегайте частого использования конструкций “if”

Добавить комментарий