0

GLSurfaceView の上にビュー アニメーション (複雑なものは何もなく、AlphaAnimation と TranslateAnimation のみ) を含む Android ビューを配置すると、アニメーションの実行が遅くなることに気付きました (つまり、多くのカクつきが見られます)。 GLSurfaceView、そしてアニメーションの再生中にGLドローコールがヒットしないことを(ブレークポイントを設定することによって)確認したと信じているので、遅さの原因はわかりません。

誰もこれを回避する方法を知っていますか? iPhoneでもこれが問題だったことは知っていますが、問題を修正するためにOSのアップデートが行われました. それらはショート ビュー アニメーション (例: You Win!) であるため、世界で最悪というわけではありませんが、回避策があればいいと思います。

GL でアニメーションを実行しない理由は、ゲーム内の任意のアクティビティからアニメーションを実行できる必要があり、すべてのアクティビティに GLSurfaceViews があるわけではないためです。

最後に、問題があれば、Replica Island http://code.google.com/p/replicaisland/から変更された GLSurfaceView ソースを使用しています。

4

1 に答える 1

4

GLSurfaceView の上での描画は遅いため、アニメーションも同様です。サーフェス ビューのどの部分が表示されているかを判断するために、フレームワークにさらに多くの作業を強制しています。

サーフェス ビューを使用している場合は、サーフェス ビュー内でこれらのアニメーションを実行することを検討する必要があります。

別の方法は、アクティビティの上の小さなウィンドウにアニメーションを配置することです。

于 2011-02-09T01:20:27.433 に答える