mieki256's diary



2012/05/25(金) [n年前の日記]

#2 [android] drawBitmap()について実験中

SurfaceView と Canvas#drawBitmap() を使って画像を描画する際、ビットマップ画像の一部分から切り出して描画するのに、drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) を使っているのだけど。

描画元範囲と描画先範囲に異なる値を指定できる、つまりは拡大縮小ができるわけで…。もしかすると、等倍で描画する場合ですら、拡大縮小処理が行われているのではないか、それが原因で描画が遅くなるのではないかと疑念が湧いた。

試しに、BG描画処理を書き直し。今までは、画面の中で見えるはずの範囲を計算して、その部分を切り出して描画していたけれど。画面より一回り大きいビットマップ画像を4枚分、画面からはみ出そうが気にせずに、そのまま描画するように書き直してみたり。

Lenovo IdeaPad A1 で確認してみたところ、切り出して描画するより、無頓着にベロンベロンと描画したほうが、数FPS速くなった。もちろん、機種によって結果が全く異なる可能性が高いのだけど。描画面積は4倍に増えているはずなのに、逆に速くなったあたりがややこしい。拡大縮小が入ってくる描画処理より、クリッピング処理のほうが軽い、ということなのかしら。わからんけど。

GLSurfaceViewなら、こんなことを気にせずに速度が稼げるのだろうか…?

以上です。

過去ログ表示

Prev - 2012/05 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project