如果你是《反恐精英2》(CS2)玩家,这两天一定已经被以下这条新闻刷屏,CS2官方宣布将全面禁止AMD Radeon显卡用户使用Anti-Lag和Anti-Lag+功能,一旦被系统发现,将会给予玩家严重的VAC封禁,也就是让所有Valve玩家们最不愿意遇见的VAC Banned。
VAC全称是Valve Anti-Cheat System,即Valve反作弊保护系统,旨在维护接入游戏的玩家获得公平的游戏环境,任何敢挑战VAC的作弊玩家会被赋予严重的惩罚机制,并且几乎是“永久性的,不可协商的,无法删除的”。
这意味着AMD显卡用户即便是在驱动无意识开启Anti-Lag+功能的前提下,同样会受到VAC Banned的严厉惩罚,并同时涉及Valve旗下所有游戏,包括《反恐精英》、《DOTA》、《求生之路》等耳熟能详的竞技类游戏,对于普通的游戏玩家而言,损失那可就大发了。
那么AMD Anti-Lag+究竟是个什么样的技术,会招到G胖和Valve的如此痛恨?那么一切都要从玩家追求的游戏极速响应说起。
游戏响应,唯快不破
无论在线还是单机游戏,玩家们可能或多或少都会遇到这样一个窘境,明明键盘鼠标手柄按钮按到位了,游戏中的画面有时候会慢上个半截。明明成功击杀对手终结比赛,变成了关键时刻的人体描边大师。这时候大家发现,从按下键盘鼠标手柄按钮那一刻,到游戏中的最终呈现,会存在一定的延迟,即游戏响应延迟。
降低游戏响应延迟,做到“天下武功,唯快不破”成了关键。特别像CS2这样的FPS竞技类快节奏游戏对响应的敏感度可见非常重要。在网络、服务器服务端环境不可控的前提下,能快速帮助玩家快速提升游戏响应速度的重要途径之一,即为降低系统延迟(System Latency),也就是我们常说的输入延迟,也就是我们按下按键那一刻,最终呈现到屏幕间,即CPU、渲染管线、GPU需要计算处理的过程。
降低系统延迟的办法有很多,老生常谈的方案就是用更强的GPU获得更高的游戏帧率。满足游戏流畅度60FPS仅能在感官上给人流畅,但实际上是赶不上600FPS给予的游戏信息和响应速度。正因为如此,我们才会看到诸如《英雄联盟》全球总决赛中,哪怕游戏只用核显就能流畅运行,但也一定坚持使用旗舰级GPU,以满足职业选手们对游戏响应速度的苛刻要求。
但实际上,只有高帧率的游戏画面是远远不够的。举个栗子。如果我们拥有一台可以每秒渲染1000FPS的PC,但是接入了一个长长长长长的流程,玩家的关键击杀帧在第999帧,也就是在近1秒后才会到达显示器的游戏画面中,这时候的有效击中效率无疑变得十分低下。
因此如何提升游戏帧率之外的系统响应,让前面这位玩家发生操作的第999关键帧更快的到达画面成为关键。这也是AMD Radeon Anti-Lag/+需要解决的问题,也最终成为引发Valve不满的导火索。
偏方优化,Valve的逆鳞
让游戏操作关键帧更快的到达最终画面,自然就是降低CPU、渲染管线、GPU整个系统延迟的过程。而每一帧游戏画面,都会先由CPU进行处理,然后放到渲染管线中排队交给GPU,如果CPU的速度快于GPU,就意味着CPU处理后的渲染管线会增长,排列在其中的操作关键帧被GPU处理的时间就会被随之延长。
AMD Radeon Anti-Lag/+的做法其实很好理解。他们在驱动软件层面对CPU进行限制,Anti-Lag/+会反复检测CPU的处理速度是否遥遥领先于GPU,如果是,那么就限制CPU的处理,减少渲染管线缓冲时间,从而让GPU更快的处理到玩家操作的关键帧。
因此Anti-Lag/+这套操作方式实际上不需要特定的游戏支持,不管你是任何什么游戏,哪怕是Windows扫雷,Anti-Lag/+都可以介入其中,限制CPU想GPU发送渲染管线的速度。
那么AMD Anti-Lag+是如何触到Valve逆鳞的呢?原因就在于驱动软件层面的不可监控性。
在CS2官方账号的公告中,官方强调了Anti-Lag/+绕过了游戏引擎dll函数实现了降低游戏响应延迟操作。说人话就是,Anti-Lag/+偷帧漏帧的游戏响应加速过程,是不被CS2游戏引擎所知道的。
这时候就引发了Valve反作弊保护系统(VAC)的一个重大问题:玩家操作的那个击杀关键帧,真的是玩家操作的吗?
由于Anti-Lag/+绕过了CS2游戏引擎,反作弊机制判断将无从可考证。这意味着,完成击杀关键帧这个过程的不一定需要玩家,反应速度更快的AI、CPU、外挂软件均可以实现,游戏公平性直接荡然无存。
而Anti-Lag/+的软件层面优化也具备明显的缺陷。当GPU快过CPU时,Anti-Lag/+是无法通过CPU性能实现游戏响应延迟降低的。这时候,玩家就需要冒着无法提升游戏响应速度,落败游戏,且招到VAC封禁的多重风险,游戏体验肯定非常不好。
那么,有什么解决方案?
回答是肯定是有的。不想被VAC封禁,关键在于加速游戏响应的全程,都要在CS2游戏引擎、VAC系统监控下进行。即,游戏和VAC都监控到了玩家的操控关键帧,同时这个操控关键帧在渲染管线中被提前,经过GPU输出,证明这个操作过程是人为的,那么这个关键帧即判断为有效。
这是一套软件、硬件相互结合的复杂系统,需要到鼠标、显示器、GPU等硬件的支持,还需要将规范写在游戏引擎中,也意味着在游戏开发的时候,就必须考虑到降低系统响应延迟这个情形,这时候就有必要提到NVIDIA Reflex解决方案。
正如前面所说,相比AMD Anti-Lag/+,NVIDIA Reflex要复杂很多。Reflex实际上通过协同CPU、GPU上的渲染管线进行,目的是尽可能保持渲染管线的缓冲内容足够少。当CPU快于GPU,玩家关键帧被游戏和GPU同时记录,并被在渲染管线中被提前,实现游戏响应延迟降低。当GPU快于CPU,则更好处理,GPU只需要保持渲染管线中缓冲内容足够少,经过CPU的关键帧就能通过渲染管线很快到达GPU,也从而降低游戏响应延迟。
重点是,Reflex所有的执行过程都是被游戏引擎所知道的,原因是在游戏上线之前,NVIDIA工程师就进驻到游戏制作组中,与游戏开发者一起将NVIDIA Reflex SDK融入到游戏引擎中,也就是现在耳熟能详的NVIDIA Game Ready。
NVIDIA Reflex也并非没有缺点,它需要游戏、驱动、硬件层面多个维度同时支持。在NVIDIA Reflex推出的初期,NVIDIA还会提供对应的显示器、鼠标产品支持列表,并挨家挨户联系游戏厂商在游戏引擎层面植入Reflex SDK。
显然这样吃力的工作在此刻看来是非常奏效的,目前,显示器、键鼠已经很好的对Reflex提供了支持,主流的10款射击类游戏中,支持NVIDIA Reflex的数量也已达到9款,包括《无畏契约》、《Apex英雄》、《使命召唤: 战区2》、《命运2》、《逃离塔科夫》、《堡垒之夜》、《彩虹六号:围攻》和这篇的主角《反恐精英2》等竞技游戏。目前支持Reflex的游戏已经超过80款,随着时间的推移,NVIDIA Reflex的适配度与影响力也会持续增大。
特别是在GPU硬件支持上,NVIDIA Reflex可以涵盖到GeForce GTX 900系列及以后的所有GPU,特别是GeForce RTX GPU进一步提升了GPU频率,让CS2在获得高FPS游戏体验的同时,还可以将系统延迟降低达35%。
不仅如此,Game Ready还是一个持续演进的过程,NVIDIA会不断与游戏开发者持续寻找优化方案、解决问题,并相应地迭代驱动版本,在游戏发布的时候,Game Ready驱动也会同时发布,提供最好游戏质量和性能体验,也从根本上避免了类似CS2上线之后,类似Anti-Lag/+导致玩家被VAC Banned的尴尬。
最后:反作弊和体验不相悖
我们经常在各种评测中看到“物理外挂”提升游戏胜率之类的戏称,但实际上优秀的硬件系统需要与软件、游戏层面的相互结合,才能发挥好的游戏体验,进而增加胜率。
在古老的Counter-Strike 1.3版本时代,Valve就通过修改每次开镜后狙击准心的偏移,来避免玩家通过给显示器画点盲狙的方式作弊取胜。但这不代表着Valve拒绝所有的游戏体验方式,更高的屏幕刷新率,更强的GPU,更灵敏的光电鼠标DPI,都扮演过推进《反恐精英》体验升级的重要角色。
AMD Anti-Lag/+与NVIDIA Reflex在CS2上区别对待亦是如此,反作弊和游戏体验本身并不相悖,如何保持公平的环境下实现更快的响应、更好的游戏体验,是所有硬件厂商、游戏制作方同时考虑的问题。
显然,只有在相互协作的前提下,游戏体验才有机会被进一步发挥。也正因为如此,NVIDIA Reflex早期苛刻的应用条件也最终成就了当下省心的低延迟体验,这与NVIDIA与生态中所有厂商共同努力是密不可分的。
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com