三重缓冲真的是一个免费的性能提升吗?

时间:2010-06-21 05:48:15

标签: performance graphics buffering

所以我一直在阅读很多关于openGL和gpus以及图形的内容,并且经常提到三重缓冲,因为它可以提供免费的性能提升。我知道它为什么有帮助;实际上,你可以进行v-sync而不限于帧速率选择60或30或20或15等,所以你实际上可以达到55fps。但这实际上有成本吗?直觉上,我希望三重缓冲可以将输出延迟一帧,为所有内容增加一个非常小的延迟。

2 个答案:

答案 0 :(得分:6)

在55 FPS时,一帧不到20ms。所以它不是很自由,但它几乎总是值得花费。

然而,在15 FPS时,它可能非常引人注目。 (顺便说一句,这是一台POS笔记本电脑。大多数3D游戏对我而言都是那么快。有些甚至更慢。)

有些人注意到滞后,特别是在较低的帧速率下,有时三重缓冲不能像预期的那样起作用。 (特别是在OpenGL中,硬件不能很好地支持的东西可以回归到(可能非常慢)软件仿真。这些天不应该是一个问题,但是呃。)所以大多数使用三重缓冲的程序也是如此包括禁用它的选项。你可能想考虑做同样的事情。

答案 1 :(得分:5)

来自Akenine-Möller等人的优秀“实时渲染”一书(http://www.realtimerendering.com/)的引用,第835页,其中几乎总结了你在回答自己的问题时所提出的建议,考虑滞后:

“三重缓冲比双缓冲有一个主要优势。使用 它,系统可以在等待垂直时访问挂起的缓冲区 追溯。使用双缓冲,交换可以停止图形管道。[...] 三重缓冲的缺点是延迟增加到一整 帧。这种增加延迟了对用户输入的反应,例如击键 和鼠标或操纵杆移动。“