我的申请详情
继续运行:Macbook pro 4GB RAM,ATI Radeon X1600 128MB VRAM,Opengl版本:2.1 ATI-7.0.52
使用垂直同步(通过CVDisplay):是
编程语言:使用FFI到Opengl的Lisp(Lispworks)
像素格式信息
[1 = YES,0 = NO]
我的应用程序中包含以下网格:
14个静态网格物体(不会改变)。我已经为静态绘制类型的每个网格定义了一个VBO。
2个动态网格(每帧更改)。我已经为每个网格定义了一个带有流绘制类型的VBO。
对于这些动态网格,每帧我用空指针做一个绑定缓冲区数据,然后映射缓冲区,更新映射缓冲区并取消映射缓冲区。
当我运行应用程序并使用Opengl分析器检查时:它显示以下内容(统计视图):
CGLFlushDrawable:
难怪我的FPS很差,大约6-7 FPS。
优化CGLFlushDrawable的方法是什么,因为我只调用flushBuffer,而后者又调用CGLFlushBuffer,我相信。
答案 0 :(得分:1)
嗯,事实证明 我的ATI Radeon X1600显卡存在问题 。
没有任何改变,当我在另一个更新的13“Macbook Pro上测试相同的代码时,它具有带有384MB DDR3 SDRAM的Intel HD Graphics 3000,该应用程序可正常运行 考虑到我拥有的动态网格,大约30 FPS,这是我所期望的。
此外, 在CGLFlushDrawable 中没有任何瓶颈,就像我以前的情况一样 MBP。此外,VBO分配后可用的VRAM中的存储量保持不变 (再次是我所期待的)。这不是我的旧MBP上发生的事情。
最后,我的MBP显示器已经崩溃(虽然不够规律),外部LCD显示器也不能正常工作,这表明我的显卡存在问题。
@Brad,感谢您的所有投入。