фон рождения
Компилятор Adobe Flash (ASC, ActionScript Compiler) слишком «вчерашний» по производительности, а виртуальная машина Flash все еще имеет много возможностей для улучшения производительности. Flash часто рассматривается как игрушка или в шутку называется «пожирателем процессора». Вообще говоря, мы редко оптимизируем SWF вручную. В большинстве случаев он может работать хорошо, но если размер SWF-файла слишком велик, время загрузки слишком велико или время выполнения кода слишком велико, что приводит к появлению кадра. Если она низкая, необходимо рассмотреть возможность оптимизации SWF, например, оптимизации кода и сжатия статических ресурсов (изображений, видео и т. д.). Однако повышение производительности при ручной оптимизации очень ограничено. Больше задач по оптимизации следует оставить на усмотрение компилятора. К счастью, платформа Apparat может помочь нам избавиться от кошмара ручной оптимизации. Не только это, но и любые будущие оптимизированные SWF. оптимизироваться от этого. Джоа Эберт, автор Apparat, обладает глубокими знаниями в области оптимизации производительности Flash. На конференции FlashAndTheCity в этом году выдающаяся работа Джоа принесла ему две награды : «Самый гениальный Flash-разработчик в 2010 году» и «Самый выдающийся участник в 2010 году». « Главный приз.
Создание среды
Фреймворк Apparat написан через Scale. Прежде чем практиковать его, вам необходимо установить Scala 2.8.0 и Java 1.6. Установка 7-zip не является обязательной. После настройки этих базовых операционных сред (которые необходимо добавить в переменную среды PATH) последний установочный пакет (на данный момент 1.0RC8) можно загрузить из Google Code . После загрузки извлеките его в новую папку. В комплект входят следующие файлы:
Apparat предоставляет множество инструментов командной строки, таких как tdsi, стриппер, редуктор и т. д., а также некоторые специальные API-интерфейсы ActionScript (существующие в файлах SWC). Далее давайте посмотрим, как Apparat ускоряет Flash.
Оптимизировать байт-код
Основной функцией Apparat является TAAS (трехадресный компилятор ActionScript). TAAS не меняет ни одной строки ActionScript. Он может значительно повысить производительность, просто используя обычные методы оптимизации. В отличие от компилятора ASC от Adobe, Apparat анализирует, реорганизует и собирает скомпилированные файлы SWF и SWC.
Байт-код в виртуальной машине Flash AVM основан на стеке. Эту структуру сложно оптимизировать. Устройство сначала преобразует байт-код на основе стека в CFG (график потока управления), а затем преобразует его в TAC без стека через CFG (Three. Код адреса) , то есть TAAS (Three Address ActionScript).
С помощью TAC/TAAS байт-код Flash можно повторно оптимизировать на основе методов оптимизации компилятора, таких как встроенное расширение , распространение копирования , свертывание констант , устранение мертвого кода и т. д.
Apparat предоставляет несколько полезных файлов SWC с более эффективными API и даже включает API Alchemy, которые еще недоступны в ActionScript. После того как SWF, использующий эти API, будет обработан Apparat, эффективность выполнения значительно повысится. Принцип заключается в том, что Apparat выполняет встроенную оптимизацию соответствующего кода. Формат команды для оптимизации байт-кода:
tdsi -i input.swf -o выход.swf
Источник: Koubei.com Команда UED