0

私はopengl es 2.0でライブ壁紙を開発していますが、レンダラーまたはビットマップの作成時にテクスチャをロードしたままにする方法があるかどうかを知りたいので、画面の向きが変わるたびに再作成する必要はありません。消灯。私はバッファ(インデックスなど)でこれを行いましたが、テクスチャとビットマップはリサイクルしています。

4

1 に答える 1

0

発生している動作は、Android の OpenGL アプリケーションの標準的なライフサイクル動作の一部です。

この Google I/O ビデオの 30:29 で非常によく説明されています。

http://developer.android.com/videos/index.html#v=5yohsSPFG4

とにかく、GPU のメモリを再初期化する必要があるという事実は、最初からリロードする必要があるという意味ではありません。

次のようにすることで、かなり良いパフォーマンスを達成できます。

  1. 起動時にメモリ内のすべてをロードします (VBO + テクスチャ + インデックス + など)

  2. GPU メモリにロードし、割り当てられたシステム メモリ (ポイント 1) から GPU にコンテキストを取得するたびにバインドします。

このようにして、一石二鳥の方法で、リソースが常に十分に使用可能であることを保証でき、「バック イン コンテキスト」が発生するたびにロード時間に負担をかけることはありません。

于 2012-05-31T09:15:24.333 に答える