タイルベースのゲームにビューページャーを実装しようとすると、スワイプが不安定になります。@romanguiが提案するような必要なパフォーマンス測定を実行したところ、ゲームフィールドの再描画には約48ミリ秒(長すぎる)かかることがわかりました。すでにレイアウトをフラット化し、カスタムレイアウトマネージャーなどを使用してオーバードローを排除しました。
GNで1つのタイルを描画するには、約0.600ミリ秒かかることがわかりました。これは、81個のタイルすべてに対して長すぎることです。時間は実際に費やされますCanvas.drawBitmap(...)
パフォーマンスを向上させる方法はありますか?私は6つの異なるビットマップしか持っていません、それらは一度ロードされて再利用されます。ARGB_8888。もちろん、実際に表示されるサイズと必ずしも一致するわけではありません。
レイアウトを測定した後、実際の表示サイズで事前にレンダリングすると、パフォーマンスが向上しますか?
または、弾丸を噛んで、スクロールのためだけにゲームの状態で1つの大きなビットマップを事前にレンダリングしますか?