私のアプリケーションの詳細:
動作環境: 4GB RAM 搭載の Macbook pro、128MB VRAM 搭載の ATI Radeon X1600、Opengl バージョン: 2.1 ATI-7.0.52
垂直同期の使用 (CVDisplay 経由) : はい
プログラミング言語: Lisp (Lispworks) with FFI to Opengl
ピクセル形式の情報
- ns-open-gl-pfa-depth-size 32
- ns-open-gl-pfa-sample-buffers 1
- ns-open-gl-pfa-samples 6
- ns-open-gl-pfa-accelerated 1
- ns-open-gl-pfa-no-recovery 1
- ns-open-gl-pfa-backing-store 0
- ns-open-gl-pfa-virtual-screen-count 1
[1 = はい、0 = いいえ] ブール属性の場合
私のアプリケーションには次のメッシュがあります。
14 個の静的メッシュ (変更されません)。静的描画タイプのメッシュごとに VBO を定義しました。
2 つのダイナミック メッシュ (フレームごとに変化)。ストリーム描画タイプのメッシュごとに VBO を定義しました。
これらのダイナミック メッシュでは、フレームごとに null ポインターを使用してバッファー データをバインドし、バッファーをマップして、マップされたバッファーを更新し、バッファーのマップを解除します。
アプリを実行して Opengl プロファイラーで確認すると、次の (統計ビュー) が表示されます。
CGLFlushDrawable:
- 平均時間 (マイクロ秒): 52990.63 = 52.990 ミリ秒
- % GL 時間: 98.55
- % アプリ時間: 43.96
FPS が 6 ~ 7 FPS と非常に低いのも不思議ではありません。
CGLFlushBuffer を呼び出すだけで、CGLFlushBuffer を呼び出すだけなので、CGLFlushDrawable を最適化する方法は何ですか。