游戏玩家的图形显示设置指南(10)(The Gamer's Graphics & Display Settings Guide)

游戏玩家的图形显示设置指南(10)

作者:Koroush Ghazi  
翻译:芈希有  


第十关 图形设置--三缓冲  


三缓冲

在“图形处理”这一章节下的第8部分,概述了显卡如何在帧缓冲区保存被渲染的帧。实际上有现代显卡的缓冲区中都有两个缓冲,主缓冲区及第二缓冲区,也常常被称为前缓冲区和后台缓冲区。这两者都存放在显卡的显存储存区中,在同一时间使用这两个缓存的过程被称为双缓冲。直到最近,显卡的显存容量才大到能够容纳所有的分辨率下的两个缓存,因为高分辨率下的帧由于有很详细的图像信息而需要占用大量的显存,更不用说有两个这样的帧了。

显卡使用后备缓冲区来组建一个新的帧,此时主缓冲区正在将一个已经存在的完成的帧送给显示器。当这些工作完成后,这两个缓存就会“交换”,所以原来的后备缓冲区中的完成的帧就会成为主缓冲区中帧并被送往显示器,同时一个新的帧将在前面的主缓冲区中开始构建。这过程是这是一遍又一遍地重复进行的,就是说使用两个缓冲区,意味着显卡不用在获得更多的帧之前一直等待一个帧缓冲被清除。就好比是使用两个水桶来灭火,--当一个水桶正在向火上浇水的时候另外一个桶正在灌水,这个过程不断地进行的话,灭火的效率明显比使用一个水桶要快很多。

使用双缓冲还有一个问题,那是当的VSync启用的时候,显卡往往可以填补两个缓冲区,然后必须停止下任何更新新帧的工作,直到显示器表明它正在为它的下一次刷新帧准备就绪。只有这样,显卡才能清除主缓冲区,交换缓冲区并在后备缓冲区中准备下一帧的渲染工作。这种等待就是在许多系统中启用VSync时导致的FPS下降的原因,这在“垂直同步”这章中有详细的解析。

那么使用两个以上的缓冲区是不是更有意义一些呢?为什么不是3个缓冲区,例如--这会给显卡提供更多的空间,而不必担心他们在发送到显示器之前的储存位置是否够用,即使启用了VSync。那么有一个选项就可以做到了这一点,就是所谓的三重缓冲(Triple Buffering)。顾名思义,它会在显存中创建第三个缓冲,我们可以称之为第三缓冲区第三缓冲区。

 

开启三缓冲

许多游戏都有选项可以设置三缓冲,无论是从游戏中的设置菜单或使用高级版本的Tweaks(见我的相关游戏调整指南)。但是,如果您使用的游戏没有任何这样的选项,那么你可以尝试用以下方法来在游戏中强制开启三重缓冲。

 

在基于OpenGL的游戏中,如Doom 3和雷神之锤4,Prey或者Enemy Territory:Quake Wars,启用三重缓冲是很简单的--到您的图形卡的控制面板直接开启就好。但有在基于Direct3D的游戏--现代大多数游戏都是这样的--中开启三缓冲需要更多的努力。您将需要使用名为D3DOverrider的工具,这个工具由RivaTuner为NVIDIA显卡定制--可以在我的Nvidia Forceware Tweak中的这一页的底部看到详细信息;或在我的ATI Catalyst Tweak Guide的Advanced Tweaking章节中使用ATI Tray工具。请注意,SLI的用户可能会遇到问题,使三重缓冲需要各SLI的模式实验来使得其正常工作。

 

三缓冲的问题

这看起来有些奇怪,如果三重缓冲可以解决VSynce启用时低帧问题,那么为什么它不会出现在许多的游戏中,或者在Direct3D标准的选择有关的Nvidia或ATI显卡控制面板设置中呢?这里有三个似乎是背后的原因:

1。如果游戏没有正确的支持,它会导致视觉故障。正如撕裂是显卡中的缓冲区由于显示内容转移太快而显示器无法跟上而造成的,因此也从理论上讲,三倍缓冲也会同样造成视觉异常,例如由于游戏时间的问题。

2。三缓冲将使用额外的显存,因此在板载显存的显卡上就会产生一些问题。尤其是拥有这样硬件的人也想在高分辨率下使用高品质的材质和类似反锯齿和各向异性过滤额外的效果,因为每个帧都需要更多的显存。在显存不够的显卡上启用三缓存会增加额外的故障(略有停顿),特别是当你在游戏中进入一个新的区域的时候将会有新的纹理被交换。你甚至会由于使用了额外的三缓冲而导致整体性能大幅下跌。

3。三缓冲也会引入控制延迟。作为一个明显的滞后的表现为:当您发出命令到您的PC,它的影响会被延后显示在屏幕上。这可能主要是由于本身的VSync问题或在某些系统中由于低显存和三重缓冲需要额外的显存开销而带来的。

不过,看来最近的图形卡和大多数新游戏将无法体验到三重缓冲。鉴于它可以帮助消除撕裂,同时也防止VSync启用时FPS下降的问题,它至少是值得你在你的机器上尝试看看。

顺便说一句,我没有任何令人信服的理由,说明为什么ATI和Nvidia不将三缓冲作为Direct3D设置的标准而纳入其标准图形控制面板选项。目前,如果你想使用D3D游戏三倍缓冲你将不得不使用第三方工具,直到更多的游戏和图形驱动程序到控制面板将其加入其中。

 

 

上一篇

下一篇

posted @ 2009-12-01 10:10  芈希有  阅读(452)  评论(0编辑  收藏  举报