它始于 2013 年 Nvidia G-Sync 的到来——第一种形式的可变刷新率 (VRR) 显示技术。而不是尝试同步,或者不是将 GPU 输出与屏幕同步,主机硬件接管控制 - 当 GPU 准备好新的图形时,启动新的显示刷新。垂直同步抖动没有发生,屏幕撕裂现象(基本上!)消失了。 FreeSync 和 HDMI VRR 随之而来,但本质上它们都做了同样的事情 - 平滑可变的性能水平并提供卓越的游戏体验。但我们要明确一点:VRR 并不是包治百病的灵丹妙药。它并不是游戏性能不佳的救世主。它有其局限性,了解它们很重要,在这个过程中,我们将更好地了解更广泛的性能 - 以及为什么帧速率不是那与其他更精细的指标相比很重要。
我们来谈谈 VRR 基础知识。显示器具有本机刷新率 - 无论是 60Hz、120Hz、165Hz 还是其他。如果没有 VRR,您流畅、一致的游戏选择就会受到限制。首先,将游戏帧速率与屏幕刷新率相匹配的想法。每次显示刷新都会获得一个新帧。最流行的例子是“锁定每秒 60 帧”概念,每 16.7 毫秒生成一个新帧,以匹配 60Hz 屏幕的刷新率 - 在游戏机上实现同时最大限度地发挥其功能,这确实是一件棘手的事情。
其次,您可以要求您的硬件提供清晰的刷新率划分 - 典型的例子是在 60Hz 屏幕上运行 30fps 的游戏。在这种情况下,每隔一次刷新都会从源硬件接收一个新帧。这存在一些问题,例如重影,但这是在无法匹配刷新率时保持一致性的经典折衷方案。
最后,还有另一个不太理想的选择:完全忽略显示器的刷新率,并通过关闭垂直同步来输出尽可能多的帧。当新框架交付时当屏幕正在刷新的过程中,您会遇到屏幕撕裂 - 在任何给定的显示器刷新时呈现部分图像。
可变刷新率 (VRR) 解决了所有这些问题,因为显示器将刷新率的控制权交给了 GPU。当新帧在 GPU 上完成渲染时,它会触发显示器上的刷新。假设计算帧所需的时间与上一帧的持续时间相似,您可以有效地以任意帧速率运行,并且用户的感知是流畅、一致、无撕裂的游戏,而无需与任何特定的性能目标结合。
我说的是“无泪游戏”——但也有限制和警告。每个显示器都有一个 VRR 范围:常见示例为 48Hz 至 60Hz 或 48Hz 至 120Hz。如果游戏性能高于或低于该范围,事情就会变得有点棘手。如果游戏性能超过高端,屏幕撕裂就会再次出现 - 因此此时激活垂直同步会将帧速率限制在显示器的高端范围内。如果游戏低于下限,LFC(或低帧率补偿)就会启动,使现有帧增加一倍、三倍(或更多),以将刷新率保持在 VRR 窗口内。
如果不支持 LFC(如 PlayStation 5 上的 60Hz 系统级 VRR 所示),垂直同步会返回,抖动也会出现,这不太好。即使LFC是工作时,您可能会注意到由于多次屏幕刷新投影同一图像而导致低帧速率出现重影。其他问题?有些显示器在快速改变刷新率时会出现闪烁。最终,当性能限制在 VRR 范围上限以下时,VRR 效果最佳,并且游戏优化确保 LFC 是最后的手段。
和即便如此,您可能会遇到问题,因为帧速率和刷新率的概念是宽泛的、伞状术语,不能很好地涵盖游戏性能的细微变化。让我们这样说 - 理论上,30fps 游戏每 33.3 毫秒提供一个新帧,以实现一致的游戏玩法。然而,16.7 毫秒的 29 帧,随后是 518 毫秒的巨大卡顿仍然是 30 fps - 但它呈现出 60 fps 的速度,并伴有持续的卡顿。这也许是一个夸张的例子,但请考虑一下:如果屏幕的 VRR 窗口为 48Hz 到 60Hz,则 VRR 仅适用于 20.8ms 到 16.7ms 窗口内传输的帧。这实际上非常严格 - 可以说,遍历卡顿或着色器编译卡顿很容易持续超过 20.8 毫秒。更长。在这些场景中,VRR 无法提供良好、流畅、一致的性能。 VRR 无法“修复”我们在 Digital Foundry 文章和视频中经常谈论的那种严重的口吃问题。
在 VRR 技术的早期,具有 48Hz 至 60Hz 可变刷新率窗口的显示器占据主导地位,但现在我们的刷新率已达到 120Hz 及以上、240Hz 及以上。虽然 GPU 甚至 CPU 性能可以提供强大的马力来提供如此高的帧速率,但这只会使这些巨大的卡顿现象更加明显:性能水平越高,卡顿现象就越明显。我们经常看到 30 毫秒及以上的卡顿现象。如果以 120Hz 的频率运行,则为 8.3 毫秒。在 240Hz 时,每帧为 4.17ms。你不可能不注意到那些较长的框架。
口吃也可能以不太成问题但仍然很明显的方式表现出来。如果您在 200-240fps 窗口中运行良好,则每帧的变化约为 0.8 毫秒。 160-240fps?这将是 2.1ms 的变化。尽管帧速率看起来存在巨大差距,但 VRR 仍然可以正常工作。然而,变化可能会扩大并达到一定程度是即使您保持在屏幕的可变刷新率范围内,这一点也很明显。如果您不断地在帧时间之间切换,这一点尤其明显,因为它会以不一致、断断续续的方式呈现。动画错误或 CPU 超负荷时可能会发生这种情况 - 这通常是造成卡顿的主要原因。
我谈论了嵌入式视频中的各种示例,但最重要的是,这就是为什么我不同意 VRR 可以“修复游戏性能”的想法。它有局限性。如果游戏的帧速率变化不大,帧时间非常一致且仅逐渐变化,则 VRR 将使游戏看起来比固定刷新率下更流畅。一个很好的例子是其最新补丁中,控制台帧时间总体上是一致的,并且帧速率的低可变性通常使其在 VRR 上看起来很流畅,而在非 VRR 屏幕上的体验却不尽如人意。
然而,VRR 无法修复存在帧时间问题或帧速率根据场景发生剧烈波动的游戏。脑海中浮现出许多 UE5 游戏以及 PC 上的《死亡空间》重制版。 VRR 的实用性在这里急剧下降,因为该技术无法平滑相对较大的口吃效应。
那么这一切意味着什么呢?对我来说,这意味着 VRR 并不是灵丹妙药。既然 VRR 屏幕变得越来越普遍,我们就不能原谅游戏的问题。 VRR 无法修复游戏。然而,VRR 仍然是一项关键技术,因为您不再需要顽固地追求一致的游戏的固定性能目标 - 反过来,这从根本上降低了帧速率作为指标的重要性。绝大多数 PC 显示器都采用 VRR 技术,因此我认为,在表征游戏性能时,帧时间一致性以及图像持久性的主观描述更为重要。挑战在于建立观众容易理解的指标,数十年来,观众已经接受 FPS 作为性能的默认衡量标准 - 但这对于我们来说足够重要,需要投入大量时间和精力来实现正确的目标,并且必须做出改变,迟早。