GLSurfaceViewを使って見る

基本、2Dのゲームしか作らないので、ずっとSurfaceViewを使って開発していたのだが。
ちょっと速度を上げようと思い、試しにGLを使って見ることにした。

ちなみに、SurfaceViewと Viewでは、ハードウェアアクセラレーションの使用なので、Viewの方が速いとか、色々な情報があるわけですが。

手持ちのメイン機種 F-10D (4年前のモデル)では、SurfaceViewの方が速かった。
GPUのON/OFFでも比べたが、OFF(デフォルト)の方が速い。

FPSで言うと、SurfaceView で、40FPS程度のものが、ViewやGPU使用だと、30FPSくらいになった。
SurfaceViewでも、ほぼ何も表示しない状態でも、50FPSを超えるかどうか、というのが最速。

まったく同じ描画はまだ作れていないが、
それよりももっと負荷を上げた状態(128x128の画像100個)でも、
GLSurfaceViewは、60fps前後を維持できた。
さすがGL。

まあ、問題もあって、GL系だと、フォント表示が面倒なんだよね…。
そもそも、画像1枚表示するのも、テクスチャバッファ作って、頂点バッファ作って…とか、
色々面倒だし。

この辺りの手順、そろそろスマートになってもいいと思うんだけど…ならないねぇ。

さて、GLの速度テストは完了したから、全ライブラリをGL系に修正する作業が待っている。

逆にGLで楽になるのは、タイルパターンの描画かな。
通常のdrawBitmapでタイルペイントすると、始点の変更ができないとか、面倒すぎるし。
UVをいじるだけで表現できるので、楽でいいわー。
[PR]
by miries | 2016-10-14 17:08 | Android


<< GLSurfaceViewを... Android Studioバ... >>