我正在开发一个多平台 HTML5 游戏的 iOS 版本。我正在使用 PhoneGap 3.0.0 和 Xcode 4.6.3 并在装有 iOS 6.1.3 的 iPad Mini 上进行测试。
当应用程序在游戏期间暂停时,游戏以 1 fps 运行。菜单不会出现此问题。
Apple 的 Instruments 告诉我,恢复后的应用程序在 ImageIO 的一个名为 copyImageBlockSetPNG 的函数上花费了超过 90% 的时间。
该游戏比具有大型精灵表和路径查找的典型网页游戏更加激烈。
我已确保在收到暂停事件后不再调用 webkitRequestAnimationFrame。我已经尝试在暂停时释放游戏纹理并在恢复时重新加载它们但没有成功。
我唯一有效的方法是保存游戏状态,重新加载页面,等待用户输入,然后重新加载正在进行的游戏。
有没有更好的方法可以在不降低帧率的情况下立即恢复游戏?