【问题标题】:Is triple buffering really a free performance boost?三重缓冲真的是免费的性能提升吗?
【发布时间】:2010-06-21 05:48:15
【问题描述】:

因此,我阅读了很多关于 openGL 和 gpus 以及一般图形的文章,并且经常提到三重缓冲可以免费提升性能。我知道它为什么有帮助;实际上,您可以进行垂直同步,而不受帧速率选择的限制,例如 60 或 30 或 20 或 15 等,因此您实际上可以达到 55fps。但这真的有代价吗?直观地说,我希望三重缓冲可以将输出延迟一帧,从而为所有内容增加一个非常小的延迟。

【问题讨论】:

    标签: performance graphics buffering


    【解决方案1】:

    在 55 FPS 时,一帧略低于 20 毫秒。所以它不是完全免费的,但它几乎总是物有所值。

    不过,在 15 FPS 时,它可能非常明显。 (顺便说一句,这是一台 POS 笔记本电脑。对我来说,大多数 3D 游戏的运行速度都差不多。有些甚至更慢。)

    有些人会注意到延迟,尤其是在帧速率较低的情况下,并且有时三重缓冲无法按预期工作。 (特别是在 OpenGL 中,硬件不能很好地支持的东西可能会退回到(可能非常慢)软件仿真。这些天应该不是什么大问题,但是嗯。)所以大多数使用三重缓冲的程序也包括一个禁用它的选项。您也可以考虑这样做。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-04
        • 1970-01-01
        • 2014-05-19
        • 1970-01-01
        相关资源
        最近更新 更多