Performance

POINT Tuning 前に 自分の環境の 期待できるか知っておくこと 速さは十分かどうか 知ること POINT OpenGL は ClinetServer 型のため Command を内部で Buffering する 実行前に, App に制御がもどる 測定時にはこの動作は困る そこで glFinish() ですべての glCommnd の終了待ちをする ( glFinish == GL との同期処理 )
const int s = glutGet( GLUT_ELAPSED_TIME ); // N Frame 描画 Render(); glFinish(); const int e = glutGet( GLUT_ELAPSED_TIME );



PipeLine の限界を測定する

POINT OpenGL は PipeLine Architecture 頂点 Pass と Fragment Pass がある POINT 先ずは 不要な処理をしてないかチェックする。 以下は Fill 限界に影響する [.] GL_ALL_TEST [.] GL_DITHER [.] GL_MULTISAMPLE POINT 幾何形状限界 頂点を PipeLine に送らないようにする [.] Frustum Culling [.] GL_CULL_FACE Fill 限界 [.] Texture Size を小さくして VRAM にのせる [.] Texture Addressing を Mipmap Nearest に変更して Fetch 回数を減らす [.] 上書きする Pixel 量を減らす ( 手前からかく ) State 変更 [.] 不要な State の変更は避ける