游戏玩家对游戏设置中的“垂直同步”选项并不陌生,但很少有人知道这个功能的具体功能,关于“永远不要开启垂直同步”的谣言在游戏圈广为流传。为什么呢?
所以现在问题来了。如果显卡每秒能产生120张图片,但显示器每秒只能读取60张图片,会出现什么问题?
答案是:画面撕裂。
2.现在的显卡缓冲区分为两种:前缓冲区和后缓冲区。显卡只会将绘制的图像写入后缓冲区,而只会将前缓冲区的图像发送到显示器。
当写入后缓冲区中的“新鲜”图像时,程序不会将后缓冲区中的图片传输到前缓冲区,而是交换缓冲区——前缓冲区和后缓冲区的名称颠倒,即前缓冲区变成后缓冲区,后缓冲区变成前缓冲区。这样,刚刚在后台缓冲区中绘制的图像可以顺利传输到监视器。经过这一折腾,程序可以在不影响显卡的情况下,将后缓冲区的图像写入,将前缓冲区的图像传输到显示器,然后进行下一次“缓冲区交换”。
这个过程是显卡设置中常见的“双缓冲”。
然而,双缓冲有一个问题。这两个缓冲区可以随时交换,所以会出现这种情况:前缓冲区中的图片一旦有一半被传输到监视器,这两个缓冲区就会被交换,而原始后缓冲区中的图片稍后会被传输。这样,显示器上的一张图片就变成了前后两帧的组合,这就是图片流泪的原因。
这个问题在高帧率的情况下尤为明显,因为帧率越高,前后缓冲区的交换就越频繁,这种撕裂感自然让人讨厌,尤其是玩游戏的时候。那么有解决办法吗?
这就是“垂直同步”的功能。当垂直同步选项打开时,当显示器还没有刷新完一帧时,两个缓冲区不允许交换;只有当显示器刷新一帧画面时,才能交换缓冲区,消除了“数据传输过程中交换缓冲区”的可能,自然解决了画面撕裂的问题。
但这是万无一失的吗?不是的。
新问题是我们讨厌的:拖延。
3.在帧率远高于显示器刷新率的情况下,为了保持显示器的刷新时间与显卡将图片写入缓冲区的时间同步,需要人为增加延迟,以延迟“过快生成的图片”向显示器的输出,这显然会对图像传输和操作反馈造成一定程度的延迟。
对于需要快速反应的竞技游戏来说,延迟几乎是致命的,这也是很多玩家建议关闭垂直同步的原因。
既然垂直同步不启动时画面会撕裂,启动时会有延迟,就不能兼顾画质和性能吗?
当然,显示技术的发展也不会忽视这个问题的存在。目前主要电竞显示器的“G-Sync”和“FreeSync”技术都是为了解决这个问题而存在的。这两种技术都属于“显示动态刷新”技术。目的是让显示器动态调整刷新率,使其与显卡输出屏幕的帧率完全同步。这不仅可以解决无操作延迟的画面撕裂,而且在帧率低于60帧时也能解决。
然而,这种显示器通常是昂贵的,并且涉及设备的更换。目前有一种比较简单的解决方案——“三重缓冲”,在双缓冲的基础上增加一个帧缓冲,形成一个前缓冲和两个后缓冲。程序将图像来回写入两个后缓冲区,每次刷新显示器时,前缓冲区都会与最近完成写入的后缓冲区交换。
这样,即使一个缓冲区被禁止交换,另外两个缓冲区仍然可以来回写入图像,所以不需要人为增加画面延迟。
但是“三重缓冲”还是有一个问题,就是需要占用额外的视频内存,显然对于配置较少的玩家来说是有额外成本的。更重要的问题是游戏是否支持“三重缓冲”完全取决于游戏厂商,游戏厂商是否愿意花费大量的人力和金钱来解决问题,并不是我们能决定的。
4.说了这么多,建议对自己的电脑配置有足够信心的玩家还是建议开启“垂直同步”和“三重缓冲”,这对于消除画面的撕裂和延迟非常有帮助。但是,如果您的配置不到位,或者打开后发现有严重延迟,请果断关闭。要解决这个问题,你仍然需要升级设备。