在游戏的世界里,画面的流畅与完美呈现是众多玩家所追求的。然而,屏幕撕裂这一现象却如同游戏体验中的一颗“绊脚石”,极大地影响着玩家的沉浸感。那么,屏幕撕裂究竟是如何影响游戏体验的呢?接下来,我们将深入探讨这个问题。
为了能更透彻地理解垂直同步对游戏体验的影响,我们首先得明晰它的实际工作原理。VSync 是垂直同步的英文缩写,也是我们在游戏设置项目中常见的英文表述。
垂直同步是一项专门为避免“屏幕撕裂”这一恼人视觉缺陷而研发的技术。要知道,“屏幕撕裂”可是游戏中让玩家颇为头疼的问题之一。
当显示器的刷新率和显卡的帧速率不同步时,就可能导致视频游戏图像被拉伸或撕成两半,这种情况便会引发屏幕撕裂。具体来说,每当显卡每秒向显示器发送的帧数超出其处理能力时,就会出现两帧投影在同一屏幕上更新的状况,这会产生令人不悦的撕裂效果,严重拉低游戏体验。
那么,这种现象究竟是由什么原因造成的呢?
在未开启垂直同步的情况下,只要游戏优化得当,如今的显卡会全力以最快速度渲染帧(除非存在瓶颈)。以主流 3A 游戏为例,高端显卡能够轻松以 1080p 的分辨率每秒输出数百帧渲染好的画面。
显卡在绘制帧时,会在所谓的“帧缓冲区”中进行渲染。帧缓冲区是显存中划分出的一部分区域,用于存储要在显示器上显示的最终图像信息。关闭垂直同步后,显卡会尽可能快地将帧渲染到帧缓冲区,而显示器则会以最快速度在屏幕上绘制帧缓冲区内的画面。
假设显示器的刷新率为 60 Hz,而你玩游戏时的渲染速度达到 100 FPS。这意味着显示器每秒能更新自身(并渲染下一帧)60 次,可显卡每秒却发送 100 帧,比显示器可显示的速度快了 66%。
就像图中树干的上半截和下半截明显分开的情况,这就是画面撕裂的直观表现。
由于显示器无法在一秒内显示所有 100 帧,最终会同时显示每 x 帧的 33%和随后 x + 1 帧的 66%。这样一来,玩家看到的画面帧 x 只有三分之一,其余部分是帧 x + 1 的内容。对于高速运动的游戏画面,显然会出现参照物在画面上的错位,进而产生“撕裂感”。只要帧速率维持在 100 FPS,这种情况就会持续存在。
从根本上讲,这是显卡传统的“双缓冲”机制所导致的。双缓冲是一种通过利用两个缓冲区(即后台缓冲区 back buffer 和前端缓冲区 front buffer)来减少屏幕撕裂的技术。其中一个缓冲区位于显示器上,后台缓冲区则位于显卡上。
一旦显示器完成一帧的显示,后台缓冲区和前台缓冲区就会进行交换,它们只是重新命名,并无内容复制。之后,以前的后台缓冲区变成前台缓冲区,反之亦然。
接着,显示器“刷新”并显示该帧。采用这种双缓冲机制时,“交换”可能随时发生,即便前端缓冲区正在向显示器面板传输数据。此时,屏幕的一半由较早帧的像素组成,另一半则由较新的帧组成,这便是导致撕裂的根本原因。
既然了解了屏幕撕裂的情况,那为什么配置不好时不能开启垂直同步呢?
在 VRR 可变帧率同步(G - sync、FreeSync)出现之前,对于撕裂现象,通常是通过“增加”显卡的缓冲次数来缓解。当时,防止撕裂最常见的方法是“等待”交换缓冲区,直到显示器显示完当前帧,并准备好接收下一帧。将缓冲区交换与帧像素的垂直刷新进行同步,这就是所谓的“垂直同步”。
当显卡实际渲染的帧速率高于刷新率时,垂直同步非常有效。
看到这里,你可能会发现,这个“等待”过程或许会造成延迟。那么,除了帧延迟,还会存在哪些问题呢?
如果你的游戏 fps 低于刷新率(假设为 60Hz),比如显卡性能较差,实际帧率只有 45fps 而非 60fps,比刷新率低了 33%。那么,每次显示器刷新时,只会渲染下一帧的 66%,结果会再次显示同一帧。
之后,显卡完成在帧缓冲区中绘制帧,但前端缓冲区已包含一个帧,且在显示器刷新之前无法交换。因此,它会等待显示器刷新,然后交换帧,最后显示第二帧,整个过程不断重复。这导致每两个周期才显示一帧,渲染速度实际上减慢了 2 倍,生成的 FPS 降至 30fps。
也就是说,在 60Hz 的垂直同步条件下,如果显卡无法达到 60fps,那么在打开垂直同步时,玩家在显示器上看到的将是 30fps 帧率的画面,这就是“配置不好不要开垂直同步”的原因所在。
实际上,开启垂直同步后,虽然画面不会撕裂,但却会出现“卡顿”现象。
正如前面所提到的,垂直同步等待缓冲本身会造成一个“延迟”,也就是下图红色块所代表的时间段。
在实际游戏体验中,这就表现为画面虽无撕裂,但玩家看到的画面与游戏实际画面存在延迟。这种延迟在电竞游戏中可是致命的。
即便采用了三重缓冲技术,情况也依然如此。三重缓冲添加了第三个缓冲区,这个额外的缓冲区允许显卡继续渲染,因为屏幕缓冲区会重新显示同一帧两次,渲染流不会受到阻碍。而在双缓冲(打开垂直同步)中,后台缓冲区必须等待前端缓冲区刷新,并且在交换其中的帧之前无法开始渲染下一帧。
三重缓冲(一般需在显卡驱动中打开)结合垂直同步(在游戏中打开)能降低延迟,或者说,它是将缓冲等待的延迟进行了分割。只要显卡渲染帧率足够高,等待期分割得足够细碎,那么这种延迟就可能超出人感官的感知能力,画面滞后几乎让人“无感”。然而,延迟实际上还是存在的。
另外,三重缓冲时所获得的帧率通常具有一定的误导性。大多数 OSD 工具(如微星小飞机 AfterBurner 和 FRAPS)测量的是每秒更换一次前端缓冲区的次数,而非显卡每秒渲染的帧数,在三重缓冲时,这种测量误差会比较大。
那么,究竟该不该开启垂直同步呢?
如果你主要玩单机游戏,且图像撕裂现象十分明显,严重干扰了游戏体验,那么开启垂直同步,并在显卡驱动中打开三重缓冲是非常值得的,尤其是在你的硬件配置能够保证帧率大于屏幕刷新率的情况下。
另一方面,如果每一个帧速率都至关重要,响应时间是关键因素,比如在 CS GO 这类电子竞技游戏中,就应该禁用垂直同步。电竞玩家们为了每一个微瞬间都在奋力拼搏,限制刷新率显然无法带来最佳效果。
如果你不喜欢垂直同步带来的缺点,并且显示器支持的话,不妨考虑使用 G - sync 或者 Freesync 作为替代方案。这种可变同步帧率能够保证尽可能小的帧率延迟以及由此产生的输入延迟。
我对加盟感兴趣,马上免费通话或留言!
(24小时内获得企业的快速回复)
我们立即与您沟通
温馨提示:
1.此次通话将不会产生任何费用, 请放心使用
7x24小时电话咨询
130*1234567