Как ускорить время компиляции / публикации проектов Flash IDE

Мне надоело часами ждать публикации Flash. Проекты .NET / VisualStudio на WAAAAY быстрее - это только компиляция классов, которые изменились?

Обновление: перекодирует ли Flash IDE все ваши звуки и изображения при каждой публикации? Разве их где-то нельзя кэшировать?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
0
8 004
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

Вы можете попробовать разделить свое приложение на отдельные файлы .swf, а затем загрузить их из основного фильма.

Также, возможно, стоит взглянуть на вашу среду. Возможно, на вашем компьютере заканчивается оперативная память, вы используете сетевой диск или ваш жесткий диск зашифрован.

Также, если приложение становится настолько большим, действительно ли Flash - правильная технология?

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

Кроме того, есть несколько очевидных виновников, которые сразу увеличивают время, необходимое для компиляции SWF, - это встроенное видео и встроенный звук. Чем больше элементов IDE должна сжать для вывода (включая изображения), тем больше времени потребуется для компиляции.

Вы не можете сделать кэш Flash IDE встроенным носителем (но изображения не будут перекодированы, если вы импортируете PNG / GIF и установите сжатие без потерь в библиотеке). Но если это веб-проект, вы все равно должны загружать мультимедиа из внешних файлов, поэтому вам не нужно предварительно загружать все данные, прежде чем что-либо появится на экране пользователя. Вы можете загружать (или даже транслировать) медиафайлы напрямую или вставлять их в отдельный SWF-файл и загружать оттуда, но я не рекомендую последний вариант, поскольку он добавляет ненужной сложности.

Когда компиляция идет слишком медленно, я обычно урезаю библиотеку - читаю загружаемые изображения (png, jpg) и звук через URLRequest.

Обычно компилятор действительно тормозит при импорте файлов Illustrator (ai).

Для меня оказалось, что я удалил символьный фильтр в своих текстовых полях. Это кажется безобидным, но на самом деле в него нужно встроить все возможные глифы гидроразрыва, что привело к созданию огромного SWF-файла, компиляция которого заняла целую вечность! Во всяком случае, обязательно проверьте это - я думаю, многие люди могут легко это не заметить.

Если вы даже хотите изменить язык, вы можете использовать Haxe. Он компилируется в SWF и невероятно быстро компилируется. Вероятно, не стоит переходить на другой язык в тот момент, когда у вас есть многочасовое время компиляции, но обратите внимание на это, когда вы начинаете свой следующий большой проект.

Ответ принят как подходящий

В Flash CS4 отключение режима предупреждений ускоряет компиляцию кода примерно на 30% (все еще довольно медленно). Строгий режим тоже, но я не уверен, в какой степени.

Что касается ресурсов библиотеки, то оптимальная скорость достигается за счет установки для JPEG значений «Использовать импортированные данные JPEG», а для PNG / GIF - «PNG / GIF без лишнего звука». Что касается звуков, я не уверен на 100%, но думаю, что ADPCM / моно-в-стерео / 5 кГц / 2 бит был самым быстрым. Тег [Embed] также может помочь (он не выполняет никакого преобразования), но он включает довольно много кода Flex.

И в качестве совета: во Flash CS4 вы можете пакетно выбирать ресурсы в библиотеке и применять настройки, так что вы можете легко установить оптимальные настройки скорости во время разработки, а затем изменить их для развертывания.

Спасибо за совет по отключению предупреждений в настройках публикации. Это ускорило время публикации на 80%. От 25 секунд до менее 5 секунд. :)

user644746 04.03.2011 16:06

Вау, это сэкономит мне столько времени. Я не учел эффект встраивания символов. Боже, это привело к более чем десятикратному ускорению. Не мне просто нужно найти способ задним числом встроить все мои текстовые поля. Тем не менее, много боли сэкономлено там, где она важна, РАЗВИТИЕ!

user330450 01.05.2010 20:32

Просто хотел добавить. Тег [Embed] выполняет реконверсию. Я провел тест, встраивая две версии одного и того же файла PNG в два идентичных флеш-приложения. Одна версия была простым PNG, а другая была сжата с помощью PNG Compressor. Новый PNG был примерно на 30% меньше, но оба SWF-файла были одинакового размера, как если бы я дважды вставлял один и тот же файл.

Maurycy 20.07.2011 19:51

В очень большом проекте с сотнями файлов отключение предупреждения было разницей между моим приложением, которое скомпилировалось от 30 до 60 секунд, по сравнению с 1 или 2 секундами. Отключите предупреждения.

Triynko 18.02.2014 00:54

Компилятор просто работает медленно во Flash IDE. Я могу понять медлительность, если у вас есть много изображений в библиотеке, которые необходимо повторно экспортировать, но компилятор необъяснимо медлителен, когда компилируется только код.

Например, у меня есть супер базовая сцена Away3d, для компиляции которой требуется пять полных секунд (без ресурсов библиотеки). Точно такой же код компилируется во Flex менее чем за секунду. Я не знаю, чем отличаются эти два компилятора, но выполнение любого проекта с тяжелой кодовой базой во Flash IDE просто болезненно. По мере роста проекта вам придется ждать все дольше и дольше.

Если вы делаете 3D-проект или что-то, что требует компиляции большого количества кода, я рекомендую создать проект только для ActionScript в Flex / Flash Builder. Может быть, у CS5 будет компилятор получше ...

отключить предупреждения в настройках публикации> Flash> as3

Возможно, вы захотите проверить встраивание своего персонажа - если вы случайно нажмете `` Вставить все символы '', он может встроить тысячи символов, это значительно замедлит вашу скорость публикации.

Снимите флажок «Режим предупреждений» в меню «Файл»> «Настройки публикации»> «Настройки ActionScript 3.0». Это имеет огромное значение. В недавнем проекте я сократил время компиляции с 1 минуты 20 секунд до 7 секунд! Да, я тоже был удивлен.

Ух ты! Это ОГРОМНО изменило мой проект. Компиляция теперь занимает несколько секунд. До этого прошло около минуты. Большое спасибо за отличный совет! :)

drpelz 28.12.2011 23:19

Другие вопросы по теме