Как заставить большую игру работать более гладко? - PullRequest
0 голосов
/ 16 февраля 2012

Я занимаюсь разработкой игры для iPad на базе Flash CS5. Когда я запускаю его во флэш-памяти или веб-браузере, он работает довольно гладко, но когда я опубликовал его в файл ipa и запустил на своем собственном ipad, он стал очень-очень медленным. Поскольку в моей игре много этапов и персонажей, количество символов может превышать 50. Это делает файл флэш-памяти более 100 МБ (но ipa - только 11 МБ). Все символы экспортируются в кадре 1.

Поэтому у меня есть несколько вопросов, которые хотелось бы понять:

1) если я использовал preloader и экспортировал символы в кадре 2, будет ли моя игра работать более гладко? достаточно ли одного предзагрузчика, когда игра загружена? или это нужно для каждой игровой сцены?

2) Есть ли какая-либо другая техника, которой должна следовать большая игра, разработанная во Flash, чтобы ее можно было запускать на устройствах с низкой конфигурацией?

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

Большое спасибо за помощь ^^

Ответы [ 3 ]

1 голос
/ 16 февраля 2012

1) Все, что сделает прелоадер, покажет пользователям, что что-то происходит, до запуска игры. Это не повлияет на производительность игры.

2) Да: вам нужно оптимизировать каждый расчет и каждый актив для небольшого объема памяти и высокой производительности. Начните здесь .

3) Потому что они потратили много времени на 2)

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

0 голосов
/ 16 февраля 2012

Сделай себе одолжение и угробь Флэш.Напишите свою игру на Objective C / C / C ++

Даже Adobe и Microsoft отказываются от Flash для мобильных устройств.

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

0 голосов
/ 16 февраля 2012

Несколько вещей, которые нужно иметь в виду:

  • Обновление до Flash CS5.5
  • Использовать flashplayer 11.0
  • Использовать AIR3.1 SDK
  • Публикация с использованием "GPU" (не CPU)
  • Объединение объектов !
  • Попробуйте использовать как можно больше растровых изображений, векторы "тяжелее".
  • 'cacheAsBitmap' только для объектов, которые движутся вдоль осей x / y
  • Альфа-пленки съедают ваш процессор
  • Я упоминал Объединение объектов ?
  • Подключите монитор FPS к вашему приложению, чтобы вы могли отслеживать падение частоты кадров.
...