上周育碧正式为《彩虹六号:围攻》加入了新的图形API支持,他们没有选择DirectX 12,而是换用了更为通用,跨平台性更好的Vulkan,这也是AnvilNext 2.0这套育碧自有的游戏引擎首次获得Vulkan API支持。
无论从新旧还是理念上来说,Vulkan实际都是与DirectX 12位于同一世代的,它们都向开发者开放了更为底层的硬件调用能力,加强了多线程能力,在多核时代拥有更好的表现。不过育碧仍然选择了Vulkan,至于理由,他们给出的答案是Vulkan在内部测试时于CPU性能上面胜过了DirectX 12。
新的图形API也意味着游戏将会支持新的图形特性,官方在博文中介绍了使用Vulkan API将会带来的三大新特性,分别是动态材质索引(Dynamic Texture Indexing)、渲染目标混叠&动态渲染缩放(Render Target Aliasing & Dynamic Render Scaling)和异步计算(Async Compute)。这三大技术的引入并不会让画面质量有明显的提高,但可以让性能表现变得更好。
《彩虹六号:围攻》使用的是AnvilNext 2.0引擎,这套引擎是从《刺客信条:团结》开始使用的,在《刺客信条:起源》和《刺客信条:奥德赛》中,育碧为这套引擎加入了很多新的画面特性,让这套DirectX 11引擎在如今也看起来一点都不落伍。在《彩虹六号:围攻》中,这套引擎表现出了较为吃CPU和内存频率的特点,不降分辨率的情况下,在游戏过程中想稳定于240fps是一件比较困难的事情,希望Vulkan API的引入可以让它的性能表现变得好一些吧。
目前Vulkan版本的《彩虹六号:围攻》正在公测,可以在Uplay中找到它的启动项,育碧官方建议用户更新到最新的显卡驱动以减少Bug。
天下武功唯快不破。从诞生的最初至今FPS第一人称射击的核心玩法从来没有变过,那就是比谁反应更快。比敌人早几毫秒发现对方,扣下扳机,跑赢系统判定,是专业玩家的核心诉求。
职业选手在墙角横向移动,反复刷新视野就是个很好的例子。竞技者在利用墙角主动刷新屏幕的时候,系统会优先对视野进行刷新,而敌人视角会相对滞后数十毫秒。如果反应水平相同的两个电竞选手对枪,提前发现对方将有助于做出更快的判断。
如何跑赢对手的系统判定早已成为电竞技巧的重要一环。最初的《雷神之锤》竞技判定其实很简单,在单位时间内你能获得更多的帧率,就能更快的做出判断,更高几率在关键帧做出决定性的射击,赢下比赛。
在很长一段时间内,FPS竞技可以纯粹依靠硬件堆叠获得更高的帧率来跑赢对手。如果条件有限,你甚至可以反向操作,通过降低游戏画质、分辨率获得高帧率。这不是开玩笑,早年《反恐精英》竞技时候,有一大批职业选手选择低分辨率画质进行游戏,核心诉求之一就是能够有机会获得更高的帧率刷新,以跟上他们敏捷的判断力。当然,低分辨率下系统对弹道和敌方建模的判定也会有些许改变,这是题外话。
上述经验总结可以追溯到Lan Party的时代
回到如今的FPS游戏,除了令人惊讶的《CS:GO》仍然经久不衰,最火爆的FPS游戏之一自然是《彩虹六号:围攻》。但与往日不同的是,竞技类FPS游戏从设计之初就考虑到了高帧率优化,并缩短了系统判定响应时间,单纯依靠帧率获得游戏优势已经不再明显。
那么FPS竞技游戏就能就此公平了吗?实际上还是没那么简单,跨过屏幕刷新率、游戏帧率门槛之后,系统响应放在了我们的面前。
系统响应:成也CPU、败也CPU
在系统响应中,CPU的表现会起到重要作用。这里先让我们从系统响应是如何发生说起。当你按下鼠标和键盘,再到显示器上展示结果,其实是一个繁杂的过程,鼠标指令会先到达CPU,CPU做出响应之后进入渲染队列,GPU对渲染队列逐一渲染,并最终呈现到显示器上。
所有的工序都不可能一蹴而就,每一步都需要做出运算,产生运算就意味着会产生延迟。从按下鼠标到显示器展示,完整延迟可以有如下表达:
第一部分延迟的是输入延迟。也就是我们常看到键盘、鼠标、手柄的外设延迟;
第二部分延迟是输入采样延迟。输入采样是指计算机本身从输入设备接收输入信息,然后将其发送到游戏,以便处理输入和位置等信息。同时这个部分还包含游戏引擎延迟,诸如视觉效果、音频、本地模拟、能见度等特效都会造成引擎延迟;
第三部分是渲染延迟。这个延迟由渲染队列和GPU共同影响。
第四部分是合成延迟。窗口合成程序获取帧之后,会安排与其他窗口合成,从而造成延迟。这时候我们可以通过全屏独占模式来避免窗口合成,以减少延迟;
第五部分是显示延迟。显示延迟实际上包含三个部分:
1)扫描输出率。指将GPU渲染的帧缓冲区扫描到显示器中所使用的时间。它受到显示器刷新率,也就是我们常说的XXXHz刷新率影响,速率越快,用时越短;
2)显示处理。对HDR处理、G-SYNC等等效果追加。为了达到更好的画质,一些电视会积累多个帧,因此非主打游戏的电视,通常这部分的延迟会相当大;
3)像素响应时间,也就是灰阶响应时间。这部分指像素收到输入信息时响应并改变颜色所用的时间,这一点已经被各显示器厂商作为重点宣传对象。
这里你会发现一个有意思的情况,游戏帧率并非任何情况都与系统延迟正相关。一旦帧率超过一定数量,待处理帧就会变长,延迟自然而然就会变长。一切的缘由就是CPU给得太多了。
这不是开玩笑,用直观的流程图可以看到,CPU与GPU之间的工作量如果不匹配,那么CPU会在上一帧没有完成的前提下,继续缓冲下一帧,等待处理的帧数队伍变长,从而造成了延迟。
如果CPU处理效率跟不上GPU,情况也是一样,受到CPU限制下,GPU也必须等待CPU的指令,造成GPU的资源浪费。此时GPU通常会降频以节省电力。而在CPU负载得到缓解的情况下,GPU再提频,此时也会造成少许的延迟。
这里我们可以举个夸张的例子。假设我们拥有一块每秒可以渲染10000FPS的GPU,但由于系统响应限制造成延迟,击杀对手的关键帧需要1秒之后才出现显示屏上,那么无论是游戏系统判定还是玩家的反应,都会让其错失击杀对手的时机。
简而言之,在提升游戏帧率的同时,我们还需降低整个系统响应的延迟,这时候就轮到NVIDIA Reflex技术登场了。
低延迟能让你比别人有更快的判断
Reflex:抓住关键帧
提升FPS无疑是提升游戏体验和响应最简单直接的方式,而在这个基础上,NVIDIA Reflex通过缩短整体系统的时间,用巧妙的手段解决CPU与GPU之间处理步骤不一致的问题,最终目的是消除GPU渲染队列,达到低系统延迟的效果。
事实上,在NVIDIA Reflex推出之前,负责降低延迟的技术被称为Ultra Low Latency Mode极限低延迟模式,NVIDIA Reflex可以理解为将技术往前推进一步,通过对游戏植入Reflex SDK,实现游戏、CPU、GPU三方同时把控,从底层实现更快的系统响应。
你可以这么理解,NVIDIA Reflex SDK能够更好的控制CPU的运行速度,允许及时向GPU提交例如点击鼠标的关键动作,同时还确保GPU没有间断运行,保证画面的流畅输出。
而通过NVIDIA Reflex对GPU渲染工作的动态调整,输入延迟和采样也变得更为高效,特别是输入环节游戏鼠标的高灵敏度,能够更直接、更快的体现在显示器上。通过鼠标左键扣下扳机等决定性动作,系统响应缩减之后,能够以更快的速度到达关键帧,帮助玩家提升命中率。
我们甚至可以直接说,在NVIDIA Reflex加持下,FPS的子弹速度变快了。
甚至,枪法也会更准
万事俱备
让我们回到本篇主角《彩虹六号:围攻》。经过数个月的软件、驱动升级和游戏制作组调教,NVIDIA Reflex开始完美融合到目前超过15款主流FPS中,《彩虹六号:围攻》正是其中之一。
前面我们提到,NVIDIA Reflex技术实际上硬件、驱动、游戏三方统筹的结果。因此我们还需要硬件上的支持,其中NVIDIA GPU是首要的,NVIDIA推荐的GPU阵营包括 GeForce RTX 20和30系列,亦或者GeForce GTX 16系列。
与此同时,还需要特定的鼠标和显示器提供对应的支持。所幸目前定位高端的主流显示器和鼠标都已经加入到了NVIDIA Reflex技术的支持阵营中来,如果不知道如何下手的同学可以访问NVIDIA的设备推荐页面选择适合自己的鼠标和显示器。
接下来的安装工作就很简单了。每一款显示器都专门留出了对应支持NVIDIA Reflex的鼠标接口,例如我们使用的外星人ALIENWARE 25 IPS 360Hz显示器,显示器下方的右侧的接口就是留给支持NVIDIA Reflex鼠标使用。
与此同时,鼠标我们使用了网红款罗技G PRO X Superlight,通过有线连接与显示器相连。
在检测手段上,NVIDIA也提供了丰富的方案。其中之一就是利用物理光传感器对显示器特定位置的亮度,并直接记录鼠标物理点击的一瞬间。
这是一套由外部光传感器、松紧带、改良鼠标组成的套装,通过USB接入电脑之后,可以利用专门的LDAT软件记录屏幕亮度变化,这时候只需要将传感器放在游戏火光发射的地方,就能顺利抓下数据。
同时NVIDIA LDAT还配备了自动开火的功能,通过LDAT能够直接控制鼠标左键射击。省略了手动射击同时记录数据时的手忙脚乱。
当然,我们也可以不必配备额外的LDAT检测装置,随着软件升级,利用鼠标、显示器和GeForce Experience的配合同样能够实现外部硬件实现的功能。只要在ALIENWARE 25显示器中找到G-SYNC Processor项目,开启NVIDIA Reflex Latency Analyzer,通过快捷键Alt+R,就能及时查看延迟信息。
最新版本的GeForce Experience已经支持自动记录FPS、系统延迟响应等参数,并且详细记录了GPU的运行状态,还能通过设置调用不同的显示内容。而我们测试的成绩记录也将基于此判断。
同时在游戏设置中如果开启两块信息,当屏幕接收到开枪指令的时候,ALIENWARE 25显示器同样也能完成一次系统延迟统计,显示在屏幕左上角。
ALIENWARE 25也提供了即时的系统延迟展示
用来替代枪焰的亮块
实践出真知
为了探究不同性能GPU的表现,这里我们分别使用了GeForce RTX 3090、GeForce RTX 3080、GeForce RTX 3070、GeForce RTX 3060 12GB分别进行测试。
为了不拖GPU后腿,还选用了最高频率为5.3GHz的Core i9 10900K,Thermaltake DDR4 4600 8GB x2,ROG MAXIMUS XII EXTREME。
《彩虹六号:围攻》针对NVIDIA Reflex选项提供了禁用、启用、启用+增强三个模式,其中可以把启用+增强模式理解为加强版,如果游戏对CPU的负载非常高的情况下(达到95%或更高),就可以选择开启这个模式来改善CPU高压环境下的系统延迟。反之如果GPU负载更高,则只需要选择启用模式。 Reflex技术会将GPU的时钟频率维持在一个高水平,确保更低的系统延迟表现,当然也会一定程度上增加GPU的功耗。
需要注意的是,启动游戏时候需要选择Vulkan。目前《彩虹六号:围攻》只有在Vulkan模式开启了多NVIDIA Reflex的支持。
在实际测试中可以看到,5.3GHz的CPU频率如果再不开启NVIDIA Reflex的情况下,其实在一定程度上增加了系统延迟。而在开启之后,系统延迟能够降低30%左右。有意思的是,定位相对更低的GPU,提升幅度愈发明显。
而最高频率4.8GHz的酷睿i5-10600K可能更容易代表更多数的主流配置,同样也能看到,RTX 3060在开启NVIDIA Reflex之后,系统响应提升超过40%。诸如RTX 3090的高端GPU本身性能足够强悍,没有NVIDIA Reflex技术加持仍然能够保证足够低延迟。
总结:底层提升最为致命
最后总结一下《彩虹六号:围攻》降低系统延迟的关键,性能强劲的GeForce RTX GPU是基本盘,然后你还需要足够高刷新率的显示器,近期推出的360Hz刷新率电竞显示器无疑是理想的选择。鼠标自然不必多说,诸如G Pro这样的电竞级鼠标能够将输入延迟降到最低。
而NVIDIA Reflex则是在上述前提之下的更进一步,让本来就争分夺秒的游戏节奏变得更有效率。更重要的是,这是一个免费的技术更新,只要更新最新的驱动,就能让你的PC系统延迟能够更进一步降低,这一点可以说相当良心。