Ни для кого не секрет, что чем больше объем swf-файла, тем дольше он загружается в браузер пользователя и тем медленнее воспроизводится клип. Однако есть много способов оптимизировать клип, а следовательно и уменьшить объем swf-файла. Частью процесса публикации, by the way, является некоторая оптимизация ролика, в том числе поиск повторяющихся фигур и удаление лишних копий. Но намного надежнее и самому приложить руку к этому благородному во всех понятиях делу. Ниже приведены несколько советов, как лучше это сделать.
Если-какой либо графический элемент используется в клипе более одного раза, сделайте из него символ. Это очень важно и мотивировано несколькими причинами. Во-первых сильно сокращает размер клипа, во-вторых при анимации Flash'у проще обрабатывать несколько различных трансформ одного обьекта (пусть разного размера/цвета/и т.д.), чем несколько совершенно разных обьектов.
Прежде чем импортировать растровую графику, задайте себе вопрос: "Могу ли я обойтись без нее?". Возможно имеет смысл преобразовать её в векторную. В параметрах изображения, после его импортирования, можно выбрать тип компрессии и посмотреть, как оно будет выглядеть. А если вы все же решили не отказываться от растров, то настраивайте соотношение качество-объем импортированной растровой графики.
Когда вы импортируете векторную графику, убедитесь, что в ней не существует скрытых линий или объектов.
Используйте кадрированную анимацию, а не пошаговую.
Без нужды не преобразуйте текстовый объект в графический вид. Почему? Дело в том, что Flash преобразует все используемые буквы и знаки препинания в полигоны. Это означает, что для фразы "Жили-были дед да баба" Flash сохранит начертания букв "Жабдеилы-" (Flash различает прописные и строчные буквы)! ). Каждая буква сохраняется в виде полигона, который потом размножается нужное количество раз. А при переводе текста в графический вид, каждая буква сохраняется в виде полигона каждый раз, не зависимо от того использовалась ли она ранее или нет. Для примера могу сказать, что если преобразовать все заголовки страниц и надписи на кнопках на этом сайте в графику, размер swf-файла увеличится на 12 Kбайт.
При выборе шрифтового оформления клипа отдавайте предпочтение шрифтам имеющим более простое начертание символов.
При использовании текстового поля творчески подходите к выбору шрифта и выбору опции Embed Fonts. Старайтесь не экспортировать зря лишних символов шрифта. По возможности назначайте текстовому полю "встроенные" шрифты (Device Fonts), например для ввода логина и пароля. При этом Flash будет сохранять не начертания букв, а только характеристики и название шрифта (на практике это всего несколько байт). При воспроизведении будет использован указанный шрифт, либо, если такого шрифта не окажется в системе, Flash использует ближайший по характеристикам шрифт.
Для оптимизации звука используйте MP3 компрессию. Так же на размер звуковых данных влияют частота дискретизации (sample rate) и количество каналов (стерео, моно). Понятно, что стерео звук будет занимать в два раза больше места, чем моно, и что звук оцифрованный с частотой дискретизации 44 kHz, ровно во столько же раз больше отрывка с частотой 22 kHz. Частоту дискретизации относительно исходной можно понизить, повышать ее не имеет смысла (лучше от этого звук не станет).
Используйте лупы для фоновых звуков.
Когда вы создаете графику во Flash, убедитесь в том, что у вас нигде не осталось лишних линий полигонов, пустых или прозрачных фигур, которые не несут на себе функциональной нагрузки.
Ограничьте себя в использовании специальных типов линий, таких как пунктир, нечеткие линии, точки и т.д. Сплошные линии занимают меньше места.
Графические объекты со сложной границей оптимизируйте с помощью опции меню:Modify -> Curves -> Optimize (Ctrl+Alt+Shift+C).
Экономно применяйте градиенты. Заполнение области градиентом увеличивает размер файла примерно на 50 байт, по сравнению с заливкой основным цветом.
Использование прозрачности должно быть оправдано, так как этот эффект замедляет воспроизведение.
Не держите символы на сцене, если вы их не используете. К сожалению, Flash не настолько интеллектуален, чтобы не просчитывать клипы с _alpha или _vizible равными нулю. Если клип невидим, лучше его убрать со сцены, а потом, когда будет нужно, его показать.
Одновременно с экспортом клипа выводите отчет и внимательно изучайте его для выявления "узких" мест.
В общем-то все, не считая одного существенного вопроса, а именно: "Скорость исполнения фильмов". Общеизвестно, что плавность анимации достигается большим количеством проигрываемых кадров в секунду (fps - frames per second). По умолчанию, Flash использует значение 12 fps, так как считается, что для web это опитмально. Но для качественной анимации требуется минимум 25-30 fps. Однако, увеличение количества кадров в секунду требует большей производительности компьютера, на котором исполняется анимация, и если ее не хватает, Flash сокращает частоту кадров. Следовательно частоту кадров надо выбирать так, чтобы "и Вовцы были сыты, и Ольки целы". Лично я уже давно остановился на 25 кадрах в секунду.
http://www.gamesector.org