MCPLive > 杂志文章 > G-Sync及Free Sync深入分析

G-Sync及Free Sync深入分析

2014-08-01何斌颖《微型计算机》2014年7月上

玩家也许可以容忍在游戏中操作失误导致成绩不佳,这是经验不足或技巧掌握不够所导致,怨不得人。但是,如果在游戏中出现画面不正常的卡顿、延迟甚至撕裂,那种不是由自己导致的挫败感则让人难以接受。为了解决这种问题,显卡双巨头NVIDIA和AMD都做出了很多努力,分别推出了NVIDIA G-Sync和AMD Free Sync技术。此前我们对G-Sync已经有过简单介绍,而相对来说对Free Sync略感陌生。这两者究竟有何区别,在解决画面撕裂、卡顿和延迟的问题上孰优孰劣?下面就为您揭晓……

G-Sync及Free Sync深入分析

对3D游戏来说,游戏帧数固然重要,而画面呈现的稳定性也不容忽视。在一些激烈对抗游戏中,画面的稳定与否直接影响到玩家终成绩。很遗憾的是,在传统的“显卡-显示器”系统中,由于两者之间的工作频率没有强制性的统一标准,长期处于各自为政的状态。所以帧刷新率异步等问题一直存在,并导致时有画面卡顿、撕裂的问题发生。即使是一些搭载顶级显卡的系统,也偶尔会因此让游戏的流畅度不尽如人意。此问题如何解决?这得从产生原因说起。

根本原因:动、静不匹配

画面稳定性欠佳其实是一个由来已久的问题,只是,它在近几年才开始成为玩家关注的焦点。其原因在于经历了3D技术的爆发性发展后,3D渲染技术逐渐成熟,在革命性计算方式诞生前,恐怕游戏画质将难以获得明显改善。因此,影响游戏体验的另一方面—稳定性转而成为大家关注的焦点。

游戏画面从“101010101”的数字信号变为显示器上可见的画面信息,其中经历了复杂的计算过程。在这个过程中,显卡和CPU组成的计算体系承担着计算负荷和信息输出任务。而显示器则忠实地将自己接收到的信息显示在每一个液晶小晶格上(CRT是电子束轰击在屏幕栅格的荧光粉上)。这个过程看起来稀松平常,不存在什么问题。但在实际运行中,显卡和CPU这个计算体系与显示器终还是发生了矛盾。

目前的显示器,无论是液晶还是CRT,它们工作时显示画面的刷新频率都是一个固定值。就目前常见的液晶显示器来说,屏幕画面会稳定的每秒钟刷新60次(即每秒钟显示60张画面)。问题来了,显卡给出画面的速度是动态值。尤其是场景激烈变换的游戏中,显卡无法按照一个固定频率来输出显示画面。它只能根据当前计算的复杂情况,实时调整输出频率。再具体一些来说,显卡内部的数模转换模块(也就是RAMDAC)只会根据显卡当前计算完成的信息来输出相应数量的画面,不可能保证每秒都恰好完成60张画面的渲染(即每秒都是60帧),无法与显示器的固定刷新频率吻合。这也是导致游戏画面出现不稳定的根本原因。

液晶显示器除了固定刷新率,一些基础技术都来自于CRT显示器,包括一些暂时无用的控制信号都被保留。
液晶显示器除了固定刷新率,一些基础技术都来自于CRT显示器,包括一些暂时无用的控制信号都被保留。

动、静不匹配,究竟如何影响画面稳定性?

那么,这种动、静不匹配,究竟是如何导致画面出现不稳定现象的呢?这得话分两头说:

画面撕裂会明显影响游戏体验,甚至影响游戏成绩。
画面撕裂会明显影响游戏体验,甚至影响游戏成绩。

显卡输出帧和显示器显示帧不同步,是撕裂出现的根本原因。

1.画面撕裂

画面撕裂的情况是为常见的不稳定因素,也是容易解决的。画面撕裂出现的原因是当显卡在显示器的一个显示周期中输出了多次画面信息后,显示器为了紧跟显卡输出的新信息,在一个显示周期中混搭显示出了不同的画面,这终就造成了画面撕裂。

举例来说,在显示器的一个显示周期中的前半段,显示器接收到显卡输出的一个画面信息并更新了一半内容在屏幕上(假设第一幅显示的内容是“0”)。而与此同时,显示器又接到显卡新输出的一个画面(假设第二幅显示的内容是“1”),于是,显示器会机械地将“1”的内容更新在剩下的一半屏幕上。由于游戏的运动性,前后两幅画面肯定存在差异,因此上下两个半幅画面是不统一的,这就是撕裂现象。

这种现象往往出现在快速激烈的画面转换中,比如FPS游戏激烈交火时。在这类游戏中,高帧数状态玩家仔细观察竖向的物体并快速移动鼠标,就能看到大量的撕裂现象出现。而画面撕裂会影响到玩家的判断甚至造成失误,如明显地影响“瞄准”操作,进而导致玩家成绩不佳。倘若换用低性能显卡降低帧数,又有可能出现显卡计算性能不足,出现画面输出速度过慢,导致游戏真正的卡顿,这同样不能被玩家接受。

画面延迟会造成游戏中一些不可知情况的发生,比如玩家刚好看到红屏提醒,回过神来就已经Game Over。
画面延迟会造成游戏中一些不可知情况的发生,比如玩家刚好看到红屏提醒,回过神来就已经Game Over。

出现卡顿和延迟的原因依旧是显卡输出帧和显示器显示帧数无法匹配。
出现卡顿和延迟的原因依旧是显卡输出帧和显示器显示帧数无法匹配。

2.画面卡顿、延迟

与撕裂时一个刷新周期显示2、3张画面残图相反,当显示器2、3个刷新周期都只显示一个画面时,就会出现卡顿。这通常是由显卡性能局限,难以在显示器刷新周期到来前交出渲染好的画面导致。这使得显示器只能提供上一帧的内容(停留在上一帧),直到显卡输出下一个渲染好的画面,再在新的刷新周期更换显示内容。比如人物从左向右以比较平滑的方式转向,但是其中某两个画面重复,造成了时间上的微小不连贯,这个时候玩家眼中看到的就是卡顿。

上述描述反应的是显卡性能不足的情况下存在的卡顿。那么当显卡输出的画面帧数远高于显示器的刷新帧数时呢?在这种情况下,显示器能在第一个刷新周期中,正确输出显卡渲染的第一帧画面。而此后,在下个显示器刷新周期到来前显卡连续输出了N帧画面,由于时间间隔太近,都会被显示器忽略。到显卡输出第N+1帧时,显示器才取得这个画面并刷新在屏幕上。那么从第1帧到第N+1帧中间的N帧画面都丢失了,反映在玩家眼中也就是画面显示的延迟,跟卡顿的效果看起来极为相似。显卡性能差出现卡顿还情有可原,显卡性能强还卡顿,这让玩家情何以堪?

 需要说明的是,撕裂、尤其是卡顿、延迟,存在明显的人群敏感差异性。有些玩家很容易感受到卡顿,但是有些玩家却表示同样场景非常流畅,除了可能存在的生理机能差异外,游戏训练的程度以及对游戏操控的熟练度差异,都能影响终的感知。为了减少干扰,以上讨论针对的是比较单纯的环境,体验者没有经过特别训练,也并非特殊体质等特殊情况。

传统方案:显卡被动妥协与显示器

其实游戏画面的稳定性问题,早在CRT时代就开始受到业内专家的关注。因此推出了垂直同步技术来予以修正。只不过垂直同步的运行原理太过粗暴,它将显卡输出的画面帧数锁定在60帧/秒和30帧/秒这两个固定数值上。之所以选择这两个数值,是因为它们能与绝大多数显示器刷新帧率相匹配。简单来说,当显卡给出游戏画面的速度高于60帧/秒时,垂直同步会强制显卡每秒只输出60张画面,恰好对应显示器60Hz的刷新率。当显卡给出游戏画面的速度低于60帧/秒时,垂直同步会强制显卡每秒只输出30张,使得显示器可以在每两个显示周期中稳定显示一帧画面。这种方式其实是要求显卡向显示器妥协,显得比较被动,也经常浪费显卡性能。

垂直同步初步考虑到了60帧/秒以上的高帧数带来的画面不稳定现象,但是对60帧/秒以下的较高帧数考虑却不周到。现在的游戏场景多变,同一显示系统面对不同游戏场景的渲染压力差距明显,这导致帧数的波动幅度很大。当帧数在60帧/秒左右反复波动时,垂直同步也会在60Hz和30Hz之间反复切换,导致的结果就是更明显的画面不稳定。这将对游戏体验的舒适性带来灾难性打击,严重时甚至会造成玩家眩晕直至呕吐。因此,传统的垂直同步在很多玩家眼中是卡顿的代名词。除了某些优化得当或者轻负载游戏上有些作用外,多数时候会帮倒忙。因此,绝大多数玩家并没有使用垂直同步的习惯。

为了使得垂直同步更为合理,NVIDIA推出过自适应垂直同步,它的主要作用在于仅提供60帧/秒这一个固定值。当显卡输出帧数高于60帧/秒时,画面被锁定60Hz频率显示;显卡输出低于60帧/秒时,就按照实际画面输出频率显示。

传统的垂直同步会在60帧和30帧之间反复切换,导致画面卡顿、难以接受。
传统的垂直同步会在60帧和30帧之间反复切换,导致画面卡顿、难以接受。

NVIDIA的自适应垂直同步虽然解决了垂直同步60帧以下卡顿的问题,但是无法解决低帧数时的卡顿、延迟等问题。
NVIDIA的自适应垂直同步虽然解决了垂直同步60帧以下卡顿的问题,但是无法解决低帧数时的卡顿、延迟等问题。

彻底解决:显卡不再妥协!

很显然,无论是自适应垂直同步,还是垂直同步,都是一种尽量改变帧数以适应显示器的技术,它们都是对显示器固定刷新率的一种妥协。实际应用中对画面有一定的改善,但并不能从根本上解决问题,还会在很多时候浪费显卡性能。为了真正有效解决不稳定问题,更好的办法无疑是让显示器刷新率转变为动态值。

当显示器刷新率能动态变化后,显示器就可以和显卡形成恰当的匹配。显卡输出帧数为45帧/秒,显示器也能以同样的45Hz速度刷新画面;当显卡输出为144帧时,显示器也变为144Hz的高刷新率。这样一来,由显卡和显示器无法匹配刷新率而带来的撕裂和卡顿等问题将会得到彻底解决。

可控V-Blank 让显示器与显卡握手言和

要完成频率同步,又需要硬件系统具备哪些条件呢?

首先,显示器应该尽量提高刷新率上限,好是能达到甚至超过120Hz。这样才能尽可能地配合高性能显卡,发挥出高帧率带来的流畅优势。

其次,显示器必须支持DisplayPort接口,因为DisplayPort接口继承了可以控制V-Blank信号的设计,可借此打破显示器的固定刷新频率,做到动态刷新。V-Blank信号原本是CRT时代的控制信号。在CRT时代,阴极射线从显示屏左上角开始刷新,刷新至右下角后一个点阵后完成一帧图像的输出。此时阴极射线需要返回左上角准备下一帧刷新,这个返回的时间,就叫做V-Blank垂直空白。在液晶显示器时代,显示器基本都采用静态刷新,不再需要V-Blank信号,但是这个信号作为向下兼容的技术,依旧被DisplayPort保留了下来,并被重新定义为频率调控信号。

第三,GPU必须能够控制V-Blank信号。GPU通过控制V-Blank信号,将当前自己的刷新频率告知显示器,让控制显示器依次确定两个显示周期之间等待的时间长度,从而动态地刷新画面。

很显然,无论以何种方式实现,NVIDIA G-Sync和AMD Free Sync这两个系统都具备了这三个必要条件。至于这两者究竟孰优孰劣,且看接下来的对比解析。

NVIDIA G-sync:另辟蹊径的急先锋

NVIDIA是较早关注显示器和显卡频率动态匹配的厂商。在去年10月,NVIDIA就公布了G-Sync,并作为NVIDIA Kepler架构的一种特色技术进行宣传。但直到前不久,G-Sync技术才被NVIDIA推向前台,开始进入实际应用阶段,这是为何?

实际上,这跟显示器匹配能力有关。NVIDIA之前推广3D VISION技术时,市场上就出现了很多刷新率达到120Hz甚至144Hz的显示器产品,刷新频率上已经满足需求。不过受制于当时主流的显示器接口规范,对V-Blank信号可控性支持力度不佳。无论是VGA、DVI还是HDMI,都无法完成对V-Blank信号的调节,这就达不到通过调节V-Blank信号,来让显示器动态刷新的目的,也就无法适应显卡的动态画面输出。为了在目前的显示器上启用G-Sync技术,NVIDIA只有另辟蹊径地使用了折中设计方案,为这些高刷新率的显示器推出了一种名为G-Sync扩展卡的设备。这个设备上有一颗芯片用于接收、同步来自GPU的帧率信息,另外还设置了768MB的存储空间用于刷新和存储画面信息。G-Sync扩展卡可以自行改装加入显示器,也可以由厂商批量采购,在产品出厂前就将其预先加装在显示器中。

支持NVIDIA显卡的G-Sync显示器已经正式上市销售。
支持NVIDIA显卡的G-Sync显示器已经正式上市销售。

NVIDIA的G-Sync卡,可以加装在显示器中,实现显示器的动态刷新帧率。
NVIDIA的G-Sync卡,可以加装在显示器中,实现显示器的动态刷新帧率。

G-Sync升级模块全套产品。
G-Sync升级模块全套产品。 

此前展示得多的Free Sync系统,基本都是使用AMD GCN1.1架构显卡的笔记本电脑。而今年ComputeX上,AMD倒是带来了更直观的DIY系统展示。这得益于DP 1.2a的实用化,至于普及估计还得不少时间。
此前展示得多的Free Sync系统,基本都是使用AMD GCN1.1架构显卡的笔记本电脑。而今年ComputeX上,AMD倒是带来了更直观的DIY系统展示。这得益于DP 1.2a的实用化,至于普及估计还得不少时间。

在使用了G-Sync扩展卡后,一台高刷新率显示器就可以和GPU的帧率进行动态联动,实现对刷新率的动态控制。NVIDIA的G-Sync技术所规定的帧数上下限分别为30Hz到144Hz。30Hz对应的游戏帧率就是30帧/秒,NVIDIA认为每秒30帧以下的画面更新速度将会非常卡顿,从而使游戏失去可玩性,所以低及格线便是30Hz。至于144Hz的上限,却是受制于目前显示器制造工艺的极限。

在这里也许有玩家会质疑这种另辟蹊径的方式,会不会因为添加第三方硬件而导致一些别的问题?由G-Sync的技术存原理我们可以推测,由于需要额外的硬件来缓冲、同步帧率信息,不可避免地会给系统带来延迟。但NVIDIA表示这个延迟低到难以察觉,对游戏实时性几乎没有影响,实际使用中玩家们基本上不需要担心这个问题。相对于此,中间件暂时不能处理音频信号的特殊性显得更值得玩家们关注。由于G-Sync扩展模块对DisplayPort信号的截流,原本DisplayPort接口中可能存在的音频信号无法处理,将被直接丢弃。对于这个问题,NVIDIA给出的回应是“影响不大”,因为目前的显示器自带的音箱音质都难以满足游戏玩家的需求。当然,NVIDIA也考虑改进G-Sync扩展模块。不出意外的话,下一代的G-Sync扩展模块中将重新具备分离音频信号的能力。

AMD Free Sync:真有免费的午餐?

在NVIDIA推出了G-Sync后,AMD也推出了Free Sync技术。从其命名就能看出一些定位或者说策略上的不同,Free Sync自然打的是免费牌。NVIDIA的G-Sync需要额外的组件,或者更换支持G-Sync的显示器,这会显著增加成本。而Free Sync在AMD的宣称中则是完全免费的。这瞬间引起了众多玩家的关注,Free Sync是如何做到的,这套系统真的免费吗?

从技术原理上来说,Free Sync和G-sync其实基本上一样,都是通过显卡主动出击,以实时帧率为基础,控制V-Blank实现对显示器刷新频率的动态调控。相对NVIDIA的G-Sync来说,Free Sync的大改变则是集成化和标准化。这源自AMD的开放态度,AMD并没为Free Sync设置认证和授权门槛,有心的厂商或者组织都可以将其纳为己用。这终让Free Sync成功被视频电子标准协会(Video Electronics Standards Association,VESA)垂青,将其纳入到DisplayPort 1.2a接口的标准规范中。

虽说现在DisplayPort 1.2a接口还没有普及到显示器中,但随着产品发展,这是必然趋势。根据AMD宣称,只要GCN1.1之后架构的AMD显卡都能提供对Free Sync的支持,这意味着自此以后的AMD显卡,搭配任意具备DP1.2a接口的显示器都能获得Free Sync功能。相比NVIDIA当前还需要特殊模块,或者特别型号的显示器搭配来说,这怎能不让人心动?而这种理想状态下没有额外投入的组建方式,也就应该是AMD宣称Free的主因。

除此之外,AMD的Free Sync还有另一大特色极为惹人关注。相对于NVIDIA的G-Sync,Free Sync显得更加灵活。虽说G-Sync支持30~144Hz的刷新率,理论上并不排斥高刷新率只有60Hz的显示器。但实际产品却并非如此,无论是二次开发的难度还是产品定位的角度,都让当前出现的G-Sync显示器选择了144Hz的高水平。而Free Sync在规格制定之时,就已经深度优化了刷新率的匹配问题。其支持包括36Hz~240Hz、21Hz~144Hz、17Hz~120Hz及9Hz~60Hz在内的多种频段,无论厂商将其搭配在那种定位的显示器上都不会有难度。只要有DisplayPort 1.2a接口,无论是入门的60Hz产品,还是高端的144Hz型号,甚至是未来可能会大面积推广的240Hz超高端产品,都来者不拒地支持Free Sync特效。

特性虽好,但遗憾的是目前所有的桌面显示器都不能支持Free Sync,因为DisplayPort 1.2a规范普及到实际产品中还需要相当长的时间,而当前版本的DisplayPort接口不支持对V-Blank的调节。而这,也是为何AMD在演示Free Sync时基本都使用笔记本电脑的原因。因为2008年的eDP 1.0标准就可以支持对V-Blank的调节,因此一些通过eDP接口连接显示器的笔记本电脑成为当前少数能体验到Free Sync魅力的平台。

这样看来,AMD的Free Sync免费大餐并不好入口,除了准备好足够预算,等待支持DisplayPort 1.2a接口的显示器上市以外,我们还能怎么办呢?

总结:封闭与开源的战争才刚刚开始

上文我们分析了画面之所以不稳定的原因,以及根本的解决方法,AMD和NVIDIA都给出了各自的解决方案。对心急的玩家来说,NVIDIA的G-Sync是当前的唯一选择。AMD方面,Free Sync的大面积普及还需要时间。

尤其需要注意的是,虽然可变刷新率技术的原理,从理论上说上和应用的关系不大。但考虑到目前游戏设计的复杂性和游戏引擎的多样性,无论是G-Sync还是Free Sync或多或少都会遇到一些游戏兼容性问题。G-Sync和Free Sync对全屏幕游戏的支持应该非常出色,因为这个时候游戏独占系统资源,系统不需要考虑其它的应用。但游戏以窗口大化或者窗口模式运行呢?如果游戏多开呢?如果在开启游戏的时候同时在看视频呢?这些复杂的应用环境下,究竟是G-Sync还是Free Sync的兼容性更出色只能等待以后实践出真知。

就行业角度来说,画质稳定技术无疑才刚刚起步,然而一场有些类似于移动互联领域苹果与安卓之争的战斗已经悄悄打响。NVIDIA封闭的G-Sync能大程度地保障用户体验的统一、优秀。但发展过程中却也必定受到封闭的局限,产品的丰富程度和成本控制可能难以和开放的Free Sync相抗衡。Free Sync的开放特性能更容易地获得支持,加上VESA将其纳入接口的标准规范,其普及率应该会在DisplayPort 1.2a出现后迅速飙升。尤其是面对4K显示系统,4K是显示器的发展方向,在当前技术水平下,4K显示器的刷新率难以在短时内突破60Hz。G-Sync产品若不想办法兼顾更多刷新频段,那Free Sync将凭借灵活的兼容性独占鳌头。当然,开放也有代价,AMD很难保证每一套Free Sync方案都能给用户带去佳游戏体验。至于终结局,我们很难预料,就像现在的苹果、安卓之争都还依旧没有定论一样。究竟是NVIDIA的G-Sync技高一筹,还是AMD的Free Sync更加惹人喜爱,还是让我们拭目以待二者的实际市场表现吧。

分享到:

用户评论

用户名:

密码: