マルチプラットフォームの HTML5 ゲームの iOS ビルドに取り組んでいます。私は PhoneGap 3.0.0 と Xcode 4.6.3 を使用しており、iOS 6.1.3 を搭載した iPad Mini でテストしています。
ゲームのプレイ中にアプリが中断されると、ゲームは 1 fps で実行されます。メニューでは問題は発生しません。
Apple の Instruments によると、再開後のアプリは、ImageIO の copyImageBlockSetPNG という関数に 90% 以上の時間を費やしています。
このゲームは、大きなスプライト シートと経路探索を備えた一般的な Web ゲームよりも激しいものです。
一時停止イベントを取得するとすぐに webkitRequestAnimationFrame が呼び出されないようにしました。サスペンド時にゲーム テクスチャを解放し、再開時に再度ロードしようとしましたが、成功しませんでした。
うまくいった私の唯一のアプローチは、ゲームの状態を保存し、ページをリロードし、ユーザーの入力を待ってから、進行中のゲームをロードすることです。
フレームレートを落とさずにすぐにゲームを再開する良い方法はありますか?