2

描画Activitiyに使用する2つがあります。OpenGLあるアクティビティから次のアクティビティへの移行時に、見苦しい空の画面がOpenGLクリアカラーで塗りつぶされます(黒い画面ほど悪くはありません)。

s間を効果的にシームレスに移行したいActivityのですが、aを作成するときに高負荷領域がいくつかありますGLSurfaceView。これが最も遅いため、主な問題はテクスチャの読み込みです。

次の描画を明示的に指示するまでActivity最後のActivityビューがフリーズするように、sの間にバッファを2倍にする方法はありますか?Activity移行をシームレスにしたいですか?

すべてを1つのGLSurfaceViewインスタンスに移動することは、私が検討したいオプションではありません。

4

2 に答える 2

0

OpenGL ES のため、Android 2.x でそれを行うのは困難です。また、連続してレンダリングする場合、1 つのアプリケーションで 2 つの OpenGL を使用することはお勧めしません。その場合、それらを簡単に制御するには、RENDERMODE_WHEN_DIRTY が必要になります。

Android 4.x で使用する場合、TextureView はオプションです。

TextureView は GLSurfaceView と同じですが、View と互換性があるため、TextureView に ViewAnimation を使用できます。

于 2012-11-20T01:32:06.053 に答える
0

GLSurfaceView で使用できるsetRenderMode( RENDERMODE_WHEN_DIRTY)ため、 を呼び出したときにのみサーフェスが再描画されますrequestRender()
このように、別のサーフェス ビューを呼び出す前に描画したものはすべて、新しい描画を要求したときにのみクリアされます。
レンダリング モードを に設定すると、連続描画に戻ることができますRENDERMODE_CONTINUOUSLY

于 2012-11-13T19:01:03.090 に答える