5

SurfaceView を使用して Android ゲームをプログラミングしています。

SurfaceView によって取得されたキャンバスは、サイズ 80x80 の 32 ビット PNG 画像をアルファ レイヤーで描画します。メソッド drawBitmap にかかる時間は 2 ~ 3 ミリ秒です。

このような小さな画像を描画するのは通常の時間なのでしょうか、それとも舞台裏で暗黙の変換が行われているのでしょうか?

描画する必要がある約 40 個のゲーム オブジェクト (スプライトに基づく) があり、それらすべてを 1 回のパスで描画するのに約 100 ミリ秒かかります。これは非常に遅く、動的なゲームでは 10 FPS しか提供されません。アンチエイリアシングをオフにする、アルファをオフにするなど、多くのことを試しましたが、役に立ちませんでした。

少なくとも 25FPS を得るには、描画時間を最適化するにはどうすればよいですか?

ありがとう、ズラトコ

4

2 に答える 2

1

すべての PNG 画像を 8 ビット (32 ビットでした) に変換したところ、非常に高速にレンダリングされるようになりました。

于 2011-04-07T14:44:25.537 に答える
0

描画 API がアプリケーションにとって遅すぎるとわかった場合は、おそらくより高速な OpenGL を使用してみてください。私はブリッティングの多いアプリケーションを自分で行ったことがないので、タイミングの値についてコメントすることはできません.

于 2011-04-04T15:10:05.030 に答える