3

タイルベースのゲームにビューページャーを実装しようとすると、スワイプが不安定になります。@romanguiが提案するような必要なパフォーマンス測定を実行したところ、ゲームフィールドの再描画には約48ミリ秒(長すぎる)かかることがわかりました。すでにレイアウトをフラット化し、カスタムレイアウトマネージャーなどを使用してオーバードローを排除しました。

GNで1つのタイルを描画するには、約0.600ミリ秒かかることがわかりました。これは、81個のタイルすべてに対して長すぎることです。時間は実際に費やされますCanvas.drawBitmap(...)

パフォーマンスを向上させる方法はありますか?私は6つの異なるビットマップしか持っていません、それらは一度ロードされて再利用されます。ARGB_8888。もちろん、実際に表示されるサイズと必ずしも一致するわけではありません。

レイアウトを測定した後、実際の表示サイズで事前にレンダリングすると、パフォーマンスが向上しますか?

または、弾丸を噛んで、スクロールのためだけにゲームの状態で1つの大きなビットマップを事前にレンダリングしますか?

4

1 に答える 1

6

描画中に画像のスケーリングを使用するように Android を作成しないようにしてください。

拡大縮小されたビットマップをキャンバスに描画しますか? のように、以前に拡大縮小された画像を使用してみてください。

于 2012-12-17T09:59:02.660 に答える