Я работаю над iOS-сборкой многоплатформенной игры HTML5. Я использую PhoneGap 3.0.0 и Xcode 4.6.3 и тестирую на iPad Mini с iOS 6.1.3.
Когда приложение приостанавливается во время игры, игра работает со скоростью 1 кадр/с. Проблема не возникает для меню.
Инструменты Apple говорят мне, что приложение после возобновления тратит более 90% времени на функцию, называемую copyImageBlockSetPNG ImageIO.
Игра более интенсивная, чем обычная веб-игра, с большими листами спрайтов и поиском пути.
Я убедился, что webkitRequestAnimationFrame больше не вызывается, как только я получаю событие паузы. Я уже пытался выпустить игровые текстуры при приостановке и загрузить их обратно при возобновлении, но безуспешно.
Мой единственный подход, который сработал, - сохранить состояние игры, перезагрузить страницу, дождаться ввода пользователя, а затем снова загрузить текущую игру.
Есть ли лучший способ немедленно возобновить игру без падения частоты кадров?