Что имеет лучшую производительность, символы в библиотеке или экспортированные изображения этих символов? - PullRequest
2 голосов
/ 14 января 2012

Я недавно решил переключиться на метод, в котором моя библиотека полностью пуста, и я вставлял каждое нужное мне изображение / анимацию / звук через тег Embed, потому что это облегчит мою жизнь. Наличие большого количества символов в моей библиотеке приводит к тому, что CS5 работает очень медленно, и это действительно раздражало меня.

Это было прекрасно для создания игр для компьютеров, но сейчас я работаю над своей первой игрой для iPhone и замечаю, что игра начинает отставать после нескольких секунд игры. Это даже не сложная игра, но в ней много изображений с прозрачностью. Поэтому мне интересно, будет ли он работать быстрее, если я забуду о методе пустой библиотеки. Я действительно не знаю, как это повлияет на производительность, но я впервые беспокоюсь о производительности. Но я знаю о других вещах, которые влияют на производительность, таких как прозрачность и объединение объектов (просто прочитайте об этом).

Кроме того, та же самая игра работает хуже на iPad, хотя это более мощное устройство?

Ответы [ 2 ]

1 голос
/ 15 января 2012

Наличие изображений в вашей библиотеке означает, что Flash сожмет их при экспорте SWF / SWC. Это может или не может быть желательным.

Использование тега [Embed] означает, что вы можете сами сжать их в нечто вроде Photoshop и получить полный контроль над выводом.

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

1 голос
/ 14 января 2012

Как использование библиотеки, так и метатеги [Embed] влияют на производительность вашей IDE, но они оцениваются во время компиляции и выдают примерно одинаковый байт-код.

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

Существует множество хороших статей о повышении производительности ActionScript как на AVM2 , так и на устройствах iOS .Попробуйте выполнить поиск по «среде оптимизации ActionScript» - она ​​должна дать множество результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...