文章详情 您在阅读帖子内容并对帖子进行投票之后,可发表回复。

画面撕裂与卡顿:聊一聊可变刷新率(VRR)技术

分享到: 分享到QQ  分享到Twitter
作者:BigLoser    访问次数:487    投票总数:1   
创建时间:2020-07-16 14:46:47   

从大块头的CRT(Cathode-ray tube)到轻薄小巧的LCD(Liquid-crystal display),甚至最新的OLED,人类对于电子显示技术的探索与革新让广大消费者的观看体验在近几十年里有了长足的进步。电子游戏作为高度依赖显示技术的娱乐方式,这些技术的变革与升级对其自身的发展有着巨大的影响。虽然从工作原理到制作材料,CRT、LCD以及OLED都大相径庭,但它们生成图像都需要对屏幕内容不断的刷新(Refresh)。大部分显示设备的刷新率(Refresh Rate)是一个固定的值,这对于很多应用场景来说不是一个问题,比如看电影,办公等,但是电子游戏则不同。

 

电子游戏图像的生成十分复杂,游戏主程序对场景需要哪些贴图、模型进行计算,从存储器中调用,最后由显示单元进行运算输出到显示设备,整个流程可以用下图来表示:

 

 

在游戏画面生成完毕并输出到显示设备时,游戏画面的显示可能和显示设备的刷新过程产生冲突,导致显示画面出现问题,一般常见的问题分为两种:

  • 画面撕裂(Tearing)

  • 画面卡顿(Stuttering)

这两种画面问题出现的原因比较类似,我们先从画面撕裂(Tearing)开始。

当我们屏幕上正在显示的那一帧画面还没完全消失的时候,新一帧画面就被输出到了显示设备上,于是我们将会看到两帧不同的画面同时出现在屏幕上,这种情况就是画面撕裂。

 

 

出现这种情况的原因为:生成游戏画面的过程中,某些环节的性能会成为瓶颈(可能是游戏程序架构设计问题,也有可能是硬件性能不足),造成帧率生成时间(Frame Time,帧率时间指的是显卡生成一帧画面所需要的时间)变长,当显示单元渲染完毕向外输出的时间节点,卡在了显示设备的刷新周期中间。目前市面上超过90%都是采用LCD技术的显示设备,它们的刷新率基本都是固定的,而游戏画面生成的时间不固定,总会有与显示设备刷新率打架的时候。

 

 

基于同样的理由,帧率过高有时候也会产生画面撕裂。不过在帧率高的时候,这些撕裂会变得不容易被察觉,因为有足够多正常显示的画面将它们给覆盖掉了。

在考察游戏的性能表现时,帧率时间(Frame Time)被越来越多的评测媒体和机构纳入了评判依据,对于大部分游戏来说,60FPS是一个公认流畅的标准,让显卡能够稳定产生60FPS画面所对应的帧率时间为16.7ms,而帧率时间曲线可以反映出整个游戏运行过程中的画面稳定程度。

 

 

当帧率时间曲线波动较大时,说明游戏运行时画面卡顿、撕裂会很明显,体验相对会比较糟糕。

聊完了画面撕裂,我们再来看看画面卡顿(Stuttering)。

画面卡顿是更常出现,也是更加影响游戏游戏体验的问题,大家都知道画面卡顿的主要原因是有两种:优化不到位或者干脆就是硬件配置没跟上要求,游戏画面生成过程中某些环节出现了拖慢,导致显卡输出的时间节点和显示器的刷新时间有了错位,如下图:

 

 

卡顿由于游戏优化和配置的原因,出现的频率和恼人程度都比画面撕裂高得多,为了解决卡顿和画面撕裂,让游戏能更加顺畅的进行,业界做出了很多努力。

第一个出场的就是垂直同步技术了(Vertical Sync,VSync),它的工作原理很简单,就是强行让显卡输出与显示设备刷新率同步,如果不同步,那么也以显示器的刷新频率为主,显卡推迟输出来与显示器达到完美的配合。

 

VSync技术没有任何额外的成本,所以这基本上是所有游戏的标配。但VSync技术有几个问题让它没有那么的出色:

  1. 如果你的游戏运行时的帧数能够大幅超过显示器的刷新率上限,那么VSync就会十分有效,但是如果你的游戏很难维持在刷新率上限,那么卡顿与撕裂还是会发生

  1. 由于显卡需要等待显示器刷新周期,玩家的输入会有一定的延迟,这对于对战类游戏是致命的缺点

 

工程师们为了更好的解决游戏画面显示问题,开了新的可变刷新率技术,我们首先罗列三种主流的技术:

  1. VESA Adaptive-Sync,由VESA(Video Electronics Standards Association,简称视频电子标准协会)发起的标准可变刷新率技术

  1. Radeon FreeSync以及FreeSync 2,由知名图形技术公司AMD开发的可变刷新率技术

  1. G-Sync,由知名图形技术公司Nvidia开发的可变刷新率技术

 

这三种技术原理上十分相似,不同的地方主要是因为商业因素而非技术因素而产生的。可变刷新率技术(Variable Refresh Rate)的原理其实非常直观易懂:既然所有的问题都是因为显卡输出周期和显示器的固定刷新周期冲突而产生的,那我们将显示器刷新频率设为不固定,并且让显卡来主导画面的刷新过程不就可以解决这一问题了吗?

 

Nvidia为了对抗画面撕裂以及其他画面显示问题,采取了很多技术手段,经过几年的发展最终形成了G-Sync这一技术品牌。与AMD和VESA的技术标准不同的是,G-Sync并不是无偿授权给显示器厂家使用的,所有兼容G-Sync的显示器都必须使用特制的G-Sync芯片才行,而这一块芯片以及G-Sync技术使用授权费最后转移到用户身上,所以G-Sync显示器会比普通的游戏显示器贵上几百甚至一千元。

 

 

G-Sync技术从诞生之初就非常完备,它在工作时,由显卡通过DisplayPort接口发出刷新频率信号,显示器上搭载的G-Sync芯片接收到信号后会实时的调节显示器面板的刷新频率,保证显卡与显示器的刷新频率一致,从而尽可能避免画面撕裂以及其他画面显示问题的发生。

 

 

G-Sync技术比起AMD的FreeSync技术有一个优势,那就是在帧率非常低,比如30 - 45FPS时,G-Sync一样可以正常工作,而AMD的FreeSync的工作区间只有48 - 144Hz,低于这个数字或高于这个数字的话,FreeSync不会起作用。这就意味着在帧率很低的时候,画面还是会出现顿卡与撕裂的可能。

 

AMD的FreeSync本质上是将VESA的Adaptive-Sync进行了二次包装的产物,它俩实际上是一个东西。AMD为了解决上面提到低帧率的问题,推出了FreeSync 2,而搭载FreeSync 1代技术的显示器并没有完全停产,而是作为中低端产品线来满足市场的需求。AMD并没有采取和Nvidia一样,收取授权费和使用专用芯片的模式来推广FreeSync,而是持一个开放的态度。得益于免费与低门槛,加上AMD也让FreeSync可以通过HDMI连接进行工作,市面上支持FreeSync的显示器要比G-Sync的多很多,甚至有些电视机厂商也为旗下的电视产品添加了FreeSync支持。在HDR风潮兴起之后,Nvidia和AMD都为自己的可变刷新率技术添加了HDR支持。

 

 

微软在性能强劲的Xbox One X上也打开了FreeSync支持,得益于大幅提升的图形性能,Xbox One X上支持以2K分辨率120Hz的模式输出游戏画面,不过目前支持的游戏还不多,据我所知只有育碧的《彩虹六号:围攻》可以输出120Hz的画面。

 

 

Nvidia由于2018年整体业务预期不符合预期,加上游戏显示器业务蓬勃发展,公司也开始转变了自身的态度,于2019年的CES大会上宣布G-Sync技术不再由GeForce显卡独占(题图),也不再需要专用芯片模块才能使用该技术,“有选择性地”兼容搭载FreeSync技术的显示器。这个消息让很多玩家都非常高兴,因为在过去FreeSync技术只能用AMD的显卡,G-Sync技术只能用Nvidia的显卡,现在Nvidia开放限制后,玩家们选购显示器的范围就大了很多,使用成本也会降低。

 

 

可变刷新率技术从根本上解决了画面撕裂的问题,但画面卡顿却只能缓解,因为游戏优化不好或者是硬件跟不上,造成游戏渲染不出足够的画面帧数,这个问题显示器没法帮你解决。希望下一代主机能够支持AMD的FreeSync 2的话,配合上某些电视机或者显示器可以大幅提升游戏体验。

 

今天就到这里啦,我们下次再见!

帖子投票

名称 是否有价值
BigLoser