您的位置 首页 > 数码极客

【三重缓冲要不要开】应该打开“垂直同步”还是吃灰?

游戏玩家对游戏设置中的“垂直同步(V-SYNC)”选项不会陌生。但是很少有人知道这个功能的具体作用。“永远不要打开垂直同步”的传闻也在游戏圈广泛传播,这是为什么?(莎士比亚)(美国电视剧《Northern Exposure》)。

1.为了明确“垂直同步”概念,首先要理解“刷新率”和“缓冲”这两个名词。

刷新率

显示器刷新一帧画面时,不是一次刷新整个画面,而是从上到下逐行逐步画图。这个过程非常快,人眼无法感知,所以这个过程被称为“逐行扫描”,是目前显示设备最重要的成像方式,当然以前的显示设备使用隔行显示方式,今天已经很少见了。(阿尔伯特爱因斯坦,美国作家)。

“逐行扫描”后,整个屏幕出现在显示器上。显示器或电视上常见的参数——“xxHz”是什么意思?

以刷新率为60Hz的显示器为例,“60Hz”意味着屏幕每秒刷新60次屏幕。就像我们知道的动画一样,无数静态画面在快速连续播放。人眼有“视觉保留”,因此会产生动态效果。然后我们看到显示器上的画面,就是以这种方式出现在我们眼前的。

缓冲区

显卡渲染一个屏幕后,存储在视频内存中的特定位置,即“缓冲区”中。在保存之前,显卡不会渲染下一个屏幕。

如果显卡每秒能产生120张画面会怎么样?每隔1/120秒,一个屏幕就会存储在缓冲区中,接下来的1/120秒,新屏幕将取代旧屏幕。这个过程是我们选手熟悉的“帧数”概念。

现在问题来了。如果显卡每秒可以生成120张(120帧)的屏幕,但显示器每秒只能读取60张(60Hz),会出现什么问题?

答案是:画面撕裂了。

2、今天的显卡缓冲区分为两种:前缓冲区和后缓冲区。显卡只将绘制的图像写入后缓冲区,只将前缓冲区中的图像发送到显示器。

写完后缓冲区的“新鲜”图像后,程序不会将后缓冲区的屏幕发送到前缓冲区,缓冲区的交换——将前缓冲区与后缓冲区的名称相匹配。也就是说,前缓冲区成为后缓冲区,后缓冲区成为前缓冲区。这样,刚刚在后缓冲区绘制的图像就可以顺利传递到显示器上。这样折腾的话,显卡可以把前缓冲区的画面传给显示器,在不影响进行下一次“缓冲区交换”的情况下,从后缓冲区写入图像。

此过程是视频卡设置中常见的“双缓冲区”。

但是,双缓冲区有问题。两个缓冲区可以随时交换。也就是说,前缓冲区的屏幕发送到显示器一半左右,两个缓冲区交换,然后发送原始后缓冲区的屏幕(即下一帧)。结果,显示器的一个画面成了前后两帧的结合,这就是画面撕裂的原因。

这个问题在高帧速率下尤为明显,因为帧速率越高,前后缓冲区的交换就越频繁。特别是玩游戏的时候,撕裂自然很烦。大卫亚设,“北方探索”。那么,有什么解决办法吗?

这就是“垂直同步”的作用。打开“垂直同步”选项后,如果显示器未完成一帧的屏幕刷新,则两个缓冲区不允许交换。只有显示器刷新了一帧的屏幕,才能交换缓冲区,从而消除了“数据传输过程中交换缓冲区”的可能性,自然解决了屏幕撕裂问题。

-image/351e67309f29485d8bce9ff41a8731ce?from=detail&index=4" width="640" height="568"/>


但这样就万无一失了吗?并不是。


新的问题就是我们深恶痛绝的:延迟。


3、在帧率比显示器刷新率高很多的情况下,为了将显示器的刷新时间和显卡向缓冲区写入画面的时间保持同步,必然就需要人为地增加延迟,来延后“过快生成的画面“向显示器的输出,这显然会造成一定程度上的影像传输和操作反馈的延迟。


延迟对于需要快速反应的竞技类游戏来说几乎是致命的,这也是为什么很多玩家建议关闭垂直同步的原因所在了。


既然不开垂直同步会画面撕裂,开了又会有延迟,那画质和性能就不能兼得吗?


当然,显示技术的发展不会漠视这个问题的存在,当前主打电竞的显示器配备的“G-Sync” 和“ FreeSync”技术正是为了解决这个问题而存在的,两项技术都属于“显示器动态刷新”技术,目的是让显示器可以动态调整自己的刷新率,使其和显卡输出画面的帧率完全同步,这样不仅可以解决画面撕裂的同时不出现操作延迟,还可以在帧率低于60帧的情况下同样提供垂直同步的效果,消除画面撕裂。



但这种显示器普遍价格较高,而且涉及设备的更换,当前已经有了更简单的解决方案——“三重缓冲”,它在双重缓冲的基础上再加入了一个帧缓冲区,组成了一个前缓冲区,两个后缓冲区的规格。程序来回向两个后缓冲区写入图像,每次显示器刷新时,前缓冲区就和最近完成写入的那个后缓冲区交换。


这样即便有一个缓冲区被禁止交换,另外两个缓冲区还是可以来回写入图像,于是就不需要人为增加画面延迟了。



但“三重缓冲”依旧存在问题,那就是需要额外占据显存,对配置不那么高的玩家而言,显然也存在额外成本。而更重要的一个问题是,游戏是否支持“三重缓冲”,完全取决于游戏厂商,游戏厂商们是否愿意花费不菲的人力和资金去解决问题,那就不是我们能决定的了。


4、说了那么多,建议就是,对于自己电脑的配置有足够自信的玩家,还是建议打开“垂直同步”和“三重缓冲”,这对消除画面撕裂和延迟都是很有帮助的。但如果你的配置不够到位,或是发现打开之后存在严重延迟,那么就果断关掉吧,想解决问题还是需要升级设备了。

关于作者: luda

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐