2

Android で OpenGL ES 2.0 レンダリング システムを構築しようとしています。すべての頂点データを配置する 1 つの FloatBuffer があります。現在、膨大な数のバイトを割り当てて、そのサイズでバッファがいっぱいになる場合はドローコールを無視します。バッファのサイズを動的に変更する方法はありますか? レンダリングのたびにバッファを解放して再割り当てしただけでは、非常に遅くなると思います。

4

2 に答える 2

2

私は実際には、高性能の OpenGL レンダリングを学習している最中ですが、通常、Vertex Buffer Objects に切り替えると、可能な限り高い実行時間を実現できます。最後に、それを試してテストする必要があります。

さらに読むためのいくつかのソースを次に示します。

  1. Android レッスン 7: 頂点バッファー オブジェクト (VBO) の概要

    転送するデータが多くない場合はこれで問題ありませんが、オブジェクトや三角形が増えてシーンが複雑になると、CPU とメモリの使用量に余分なコストがかかる可能性があります。これについて何ができるでしょうか?頂点バッファ オブジェクトを使用できます。フレームごとにクライアント メモリから頂点情報を転送する代わりに、情報が 1 回転送されてから、このグラフィックス メモリ キャッシュからレンダリングが行われます。

  2. OpenGL 頂点バッファー オブジェクト (VBO) -> VBO の更新

  3. 頂点仕様のベスト プラクティス -> 動的 VBO

于 2013-07-04T19:52:22.790 に答える