我的申请详情:
运行:Macbook pro 4GB RAM,ATI Radeon X1600 128MB VRAM,Opengl 版本:2.1 ATI-7.0.52
使用垂直同步(通过 CVDisplay):是
编程语言:Lisp (Lispworks) with FFI to Opengl
像素格式信息
- ns-open-gl-pfa-深度大小 32
- ns-open-gl-pfa-sample-buffers 1
- ns-open-gl-pfa-samples 6
- ns-open-gl-pfa-加速 1
- ns-open-gl-pfa-no-recovery 1
- ns-open-gl-pfa-backing-store 0
- ns-open-gl-pfa-virtual-screen-count 1
[1 = YES, 0 = NO] 用于布尔属性
我的应用程序中有以下网格:
14 个静态网格(不会改变)。我已经为每个具有静态绘制类型的网格定义了一个 VBO。
2 个动态网格(每帧更改)。我已经为每个具有流绘制类型的网格定义了一个 VBO。
对于这些动态网格,每帧我使用空指针绑定缓冲区数据,然后映射缓冲区,更新映射缓冲区并取消映射缓冲区。
当我运行应用程序并使用 Opengl 分析器检查时:它显示以下(统计视图):
CGLFlushDrawable:
- 平均时间(微秒):52990.63 = 52.990 毫秒
- % GL 时间:98.55
- % 应用时间:43.96
难怪我的 FPS 很差,大约 6-7 FPS。
优化 CGLFlushDrawable 的方法是什么,因为我只是调用了 flushBuffer,而我相信它又调用了 CGLFlushBuffer。