【发布时间】:2014-01-12 22:40:08
【问题描述】:
我的 opengl 应用程序以大约 110 fps 的速度运行。我添加离屏渲染的那一刻,它会减慢到 15 fps。我正在使用帧缓冲区对象和 glReadPixels 进行屏幕外渲染。我在网上搜索过,发现 GPU 内存到 CPU 内存的数据传输很慢,反之则很快。
我有 ATI Mobility Radeon™ X2300 和 128MB 显存。
所以我的问题是
1) 有没有办法提高 VRAM 到 CPU ram 的数据传输速度?
2) 市场上是否有任何 GPU 经过优化以提高读取速度?
【问题讨论】:
-
不可以。您可以使用像素缓冲区对象并重新构建您的软件,以便在帧开始时启动像素传输操作,然后在 GPU 执行一些有用的操作后使用内存工作。您无法提高内存传输的速度,只能通过更智能地执行传输来最大限度地减少对图形管道其余部分的干扰。正如我对你昨天遇到的类似问题的回答一样,这归结为 CPU / GPU 同步;那是瓶颈,而不是总线传输率。
-
安东说什么+搜索PBO乒乓和DMA异步传输。
标签: linux opengl rendering gpu render