首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么CGLFlushDrawable这么慢?(我正在使用VBO)

为什么CGLFlushDrawable这么慢?(我正在使用VBO)
EN

Stack Overflow用户
提问于 2012-05-08 22:01:04
回答 1查看 1.4K关注 0票数 1

我的应用程序详细信息:

运行于: Macbook和4GB内存,ATI Radeon X1600有128 on,Opengl版本:2.1ATI-7.0.52

使用垂直同步(通过CVDisplay):是

Lisp (Lispworks)的FFI到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= NO表示布尔型attrib

在我的应用程序中有以下网格:

14静态网格(不变)。我已经为每个静态绘制类型的网格定义了一个VBO。

2动态网格(每帧变化)。我已经为每个网格定义了流绘制类型的VBO。

对于这些动态网格,每帧我使用null指针执行绑定缓冲区数据,然后映射缓冲区、更新映射缓冲区和取消映射缓冲区。

当我运行该应用程序并使用Opengl分析器进行检查时:它显示了以下内容(统计视图):

CGLFlushDrawable:

  • 平均时间(微秒):52990.63 = 52.990 ms
  • % GL时间: 98.55
  • % App Time: 43.96

怪不得我得到一个非常差的FPS约6-7 FPS。

优化CGLFlushDrawable的方法是什么,因为我只是调用flushBuffer,而这反过来又调用了CGLFlushBuffer。

EN

回答 1

Stack Overflow用户

发布于 2012-05-09 19:40:01

嗯,原来是,我的ATI X1600显卡有问题。

没有任何改变,当我在另一个更新的13“Macbook Pro上测试相同的代码时,它有一个带有384 30的DDR3 SDRAM的Intel 3000,这个应用程序可以很好地工作在大约30个FPS上,这正是我所期望的,考虑到我所拥有的动态网格。

而且,在CGLFlushDrawable中没有任何瓶颈,就像我以前的MBP一样。此外,VBO分配后VRAM中可用的内存量保持不变(同样是我所期望的)。这不是我以前的MBP发生的事。

最后,我的MBP显示器已经崩溃(虽然不够经常),外部LCD显示也不能正常工作,这说明我的显卡有问题。

@布拉德,谢谢你的投入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10507190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档