据Engadget 10月4日刊发的文章,屏幕撕裂的主要原因是图形处理器(GPU)渲染帧的速度与显示器刷新速度不一致。这一问题在PC游戏中更常见,主机游戏有时也会遇到;目前通过垂直同步和可变刷新率等技术,屏幕撕裂已基本可以得到解决。
屏幕撕裂发生时,玩家会看到一幅画面被切成错位的水平条带,例如游戏角色的躯干与头部、腿部脱节,前方的道路也出现断裂。其原理是显示器按固定节奏从上到下扫描帧缓冲,如果GPU在显示器尚未扫描完上一帧时把新帧写入缓冲区,屏幕上就会同时出现两帧的不同部分。GPU的输出并不总是与显示器同步:有时GPU每秒渲染的帧数远高于显示器能显示的帧数,有时又因游戏负载过重而明显偏低。
显示器刷新率以赫兹为单位,表示每秒刷新次数。基础显示器通常为60赫兹,游戏显示器提供144赫兹或更高刷新率,240赫兹在中端产品中日益常见,市场上也已有1000赫兹显示器。GPU输出则以每秒帧数衡量。当两者不匹配,屏幕撕裂便可能发生。垂直同步(V-Sync)的作用是让GPU等待显示器的刷新周期,再送出下一帧。在60赫兹显示器上,游戏通常会以接近60帧每秒运行;在144赫兹显示器上则接近144帧每秒。即使显卡性能更高,V-Sync也会让它等待显示器能显示下一帧。这还可能降低GPU负载,从而减少功耗和发热。
但V-Sync存在取舍。若GPU渲染帧的速度跟不上显示器刷新率,游戏可能突然从60帧每秒的观感降到接近30帧每秒,具体结果取决于设备配置;严重时会出现卡顿,其烦人程度不亚于屏幕撕裂。V-Sync还会带来输入延迟,因为每一帧都要按固定时间表交付。在节奏较慢的冒险游戏中,玩家可能察觉不到;在竞技射击游戏中,这种延迟会让操作显得沉重、迟钝。Engadget在文章中建议,如果没有发现屏幕撕裂,可以关闭V-Sync;即使看到撕裂,也可能有更好的选择。
更好的选择之一是可变刷新率(VRR)。AMD的FreeSync和Nvidia的G-Sync都让显示器动态调整刷新率,以匹配GPU正在生成的帧,而不是强迫GPU遵循固定刷新时间表。G-Sync传统上要求官方支持显示器内置硬件模块,与GPU协调,把显示器刷新率绑定到GPU帧率,直到GPU完成下一帧才绘制;较新的G-Sync Compatible显示器无需专用硬件也能使用该功能,下一代G-Sync还将通过Pulsar功能处理运动模糊。FreeSync则通过VESA Adaptive-Sync协议实现类似目标,无需硬件模块。
在设置上,如果显示器支持自适应同步技术,可以尝试在显卡控制面板中开启。对G-Sync,一个常用做法是同时开启V-Sync,并通过Nvidia应用把帧率限制在显示器最大刷新率以下约3帧每秒。对FreeSync,则应关闭标准V-Sync;如果之后仍看到撕裂,可以再尝试开启V-Sync。VRR的最大缺点是显示器必须原生支持,G-Sync还要求兼容的Nvidia GPU;FreeSync虽由AMD开发,但也能与Nvidia GPU配合,因此选择上更灵活。
如果硬件配置或某款游戏不兼容FreeSync和G-Sync,V-Sync仍可作为后备方案。它在PC能保持稳定帧率、且帧率达到或超过显示器刷新率时效果最好。若决定单独使用标准V-Sync,可先在游戏内开启;如果游戏不支持或实现不佳,再通过显卡控制面板强制开启。通常没有必要在两个地方同时开启V-Sync。