回答:
glStart()/ glEnd()ではなくVBOを使用します。これにより、データをGPUのメモリに転送するサイクルを節約できます。
glStart()/glEnd()
。
これらは、AppleのOpenGLのドキュメントリファレンスからのものですが、少しでも役に立ちますか?;)
OpenGLパフォーマンスの最適化:OS XでのOpenGLデータスループットの最適化の基本
(最後のサンプルはサンプルアプリケーションです)
頂点の最適化
また、主題(Appleからも)で入手可能な非常に多数のビデオがあり、OpenGL拡張機能について説明しています。それらの一部はOS X固有ですが、他のいくつかはより一般化されており、WindowsおよびLinuxに適用される可能性が最も高くなります。
ここでビデオを見つけることができます。ただし、表示するにはiTunesとAppleアカウントが必要です(ただし、無料です!:D)
ローカル変数にアクセスできる場合は、glGet *を使用しないでください。例:
これらの呼び出しは本当に遅いです
glBegin-glEnd句(glColor、glNormal、またはその他)の内部で変更されていない場合は、未使用のものを外部に移動します。OpenGLはステートマシンであり、最後の値を使用します。