2012-01-13 5 views
0

時間の95%が変更されていないVBOがあるとします。しかし、もう5%の時間は、アニメーション化しています。私はglBufferDataを呼び出すときにOpenGLに与えるヒントを知りません。ほとんどアニメーション化しない頂点のOpenGL VBO使用のヒント

一方、それはGL_STATIC_DRAWバッファーの95%のように振る舞います。一方、アニメーションにはGL_STREAM_DRAWをお勧めします。私は妥協してGL_DYNAMIC_DRAWを渡すべきですか?

アニメーション中にglBufferDataGL_STREAM_DRAWにコールしてから、アニメーションが完了するとGL_STATIC_DRAWでリバファイしますか?

答えて

4

唯一実行可能な答えは、さまざまなプラットフォームに適したものを試してみることです。 OpenGLはパフォーマンスを定義しておらず、すべてのドライバがこれらの種類のものを別々に実装します。ヒントはヒントです。彼らは必ずしも何もしません。

実際、AMDでは使用方法のヒントを完全に無視しています。実際にバッファをどのように使用するかに基づいて行います。これは主に、GLのユーザーが多すぎるために悪い印象を受けたためです。

関連する問題