SurfaceView vsカスタムビュー(ビューから拡張)。 SurfaceViewは遅いです、なぜですか?
-
30-09-2019 - |
質問
私は同じプログラムを2つの方法で書きました。
1つはSurfaceViewを使用し、もう1つはカスタムビューを使用しています。 Android SDK Development Guideによると、グラフィックを処理するために別のスレッドを生成できるため、表面ビューを使用する方が良いです。 SDK開発ガイドは、無効な呼び出しでカスタムビューを使用することは、より遅いアニメーション、より激しいグラフィックスにのみ適していると主張しています。
しかし、私のシンプルなアプリでは、無効化する呼び出しでカスタムビューを使用すると、より速くレンダリングされるように見えることが明確にわかります。
これについて何を知っている/考えていますか?
私のTouchEventコードはまったく同じで、描画コードはまったく同じです。唯一の違いは、1つがすべてUIスレッドにあり、もう1つはトレッドを使用して図面を処理していることです。
解決
SurfaceViewを使用すると、描画用の2つのバッファーで動作できますが、カスタムビューはどうですか?
別のこと:あなたはドキュメントが言っていると言った invalidate
遅いアニメーション/激しいグラフィックスで速く動作します。あなたの「シンプルなアプリ」はどれほど激しいですか?ストレステストを行い、単一のスレッドがタッチ入力を処理する方法も考慮する必要があります。
ゲームには3つのスレッドがあります。 1つはゲームロジック用、1つは描画用、そして「通常の」UIスレッド...
所属していません StackOverflow