如果你是《反恐精英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