2

GLSurfaceView にレンダリングするインターフェイスがありますが、ある時点で別のレンダリング スレッドを起動して、インターフェイスの一部 (ほんの 2、3 のテクスチャ) をはるかに大きなスケールでレンダリングし、それらをイメージ ファイルとして書き込めるようにします。 SDカードに。ディスクに書き込む目的で別のレンダラーを起動したときに、既に GUI レンダリング スレッドにロードした大きなテクスチャを使用できるかどうか、またどのように使用できるか疑問に思っています。

現在、非常に悪い回避策があります。テクスチャをロードした後、bmp をメモリに保持し、ディスクへの書き込みレンダラーを起動すると、そのビットマップから新しいテクスチャを作成するだけです。しかし、実際にはビットマップが実際には大きなテクスチャとしてロードされた GPU のどこかにあるため、実際には必要ではないと感じた場合、これは時間とメモリの両方を消費します。

4

1 に答える 1

0

共有コンテキストを使用できます。2 番目のスレッドのコンテキストを作成するときは、最初のコンテキストを shared_context パラメーターとして渡します。次に、元のスレッドと同じハンドルを使用して、2 番目のスレッドのテクスチャにアクセスできます。

于 2013-08-16T12:59:16.893 に答える