研究表明D加密對性能的影響大小和大腦褶皺正相關

寫在前面:

D加密被破解的狂歡已經持續了很久,(但一些人甚至不知道這次破解成功仍然是僞造而不是去除,也就是D加密依然在運行)一些營銷號以破解版和非破解版的顯存佔用、幀率等來證明D加密對遊戲性能的影響,出一篇科普,也算蹭流量了

雙擊肘擊耄耋

你的點贊充電和評論支持

都可以讓文章被更多人看到❤

“六子喫了幾碗粉不重要,發泄情緒最重要”

甚至不綁個庫

D加密的原理是什麼?

讓我們來看看使用D加密的遊戲開發者怎麼說:

我是一名遊戲開發者,以下是我能說的實情:

D 加密會影響遊戲性能嗎?答案是:有可能。

Denuvo 提供了 “觸發器” 功能,開發者可以將其放在遊戲的任意位置,在遊戲的對應環節注入許可證校驗。想必大家也能想到,許可證校驗雖不會直接讓遊戲卡死,但確實會產生性能開銷,尤其是在遊戲渲染這類對時序要求極高的關鍵運算過程中。

開發者可以把這些觸發器放在任何位置,這不僅會提升遊戲的破解難度,還可能導致破解版出現不穩定的情況。舉個例子,開發者可以在玩家嘗試暫停遊戲時設置一個觸發器。一旦校驗失敗,開發者可以自行設定對應的後果:是直接關閉遊戲、禁用暫停功能,甚至是觸發一個突臉驚嚇鏡頭 —— 全看開發者怎麼發揮創意。

觸發器設置得越隨機、數量越多,遊戲就越難破解。這也是爲什麼開發者往往會陷入 “越多 = 越安全” 的思維誤區,進而濫用這項功能。打個比方,試想有開發者在玩家每次受到傷害時,都設置了一個許可證校驗觸發器。(我沒記錯的話,《正當防衛 3》裏就有一個這類觸發器,一旦校驗失敗,玩家受到任何傷害都會直接死亡。)現在你可以想象一下,你正在遊戲裏,敵人用機槍朝你掃射,每 100 毫秒就會造成一次傷害,這就意味着在你承受傷害的這段時間裏,每秒要執行 10 次許可證校驗。

你大概能猜到這會帶來什麼後果了。有些開發者還會額外疊加 VMProtect 這類第二層保護程序,這會進一步拖累遊戲性能。當然,他們也可以選擇只保護和許可證校驗相關的函數,但這會不會影響性能,最終還是取決於這些校驗的執行時機。

代碼混淆最有效的手段之一,就是讓代碼在虛擬機(VM)環境中運行。如果你不瞭解這種方式對性能的影響,可能沒什麼概念,我們舉個現實中大家都熟悉的例子:主機模擬器。所有人都知道,想要用 PS2/PS3 模擬器運行遊戲,需要的硬件配置遠比原版主機高得多。但這背後的原因是什麼?

對於模擬器來說,根源在於 PC 和主機的硬件架構存在巨大差異。我們舉個簡單的例子:假設有一顆 PC 的 CPU,和一顆 PS3 的 CPU。我們假設 PS3 的 CPU 可以直接執行乘法運算,但 PC 的 CPU 不行(實際情況當然不是這樣,大家先順着這個邏輯理解)。現在,PS3 模擬器需要在 PC 上執行一條乘法運算,但 PC 的 CPU “不會” 做乘法,那模擬器就只能用替代方案:要計算 2×3,就把 2 連加 3 次(2+2+2),最終得到相同的結果。

這個替代方案雖然能算出正確結果,但效率要低得多 —— 達成同樣的結果,需要執行更多的運算指令。這就是爲什麼模擬器需要遠強於原版主機的硬件,才能跑通主機原生就能運行的內容。VMProtect 的工作原理和這個非常相似,它會創建一個專屬的 “模擬器”,來運行和原始代碼邏輯完全不同的指令,以此提升破解難度。

雪上加霜的是,VMProtect 還會往遊戲裏注入大量的 “死代碼”—— 也就是那些會被 CPU 執行,但沒有任何實際功能的無效代碼。這些冗餘代碼的唯一目的,就是干擾破解者,讓代碼逆向分析變得更加困難。

想必大家也能想到,需要執行的代碼越多,產生的性能開銷就越大。所以說,這些保護措施確實很容易影響遊戲性能,但最終影響有多大,完全取決於它們的實現方式。如果開發者把校驗放在了合適的位置,產生的開銷完全可以做到微乎其微。在我看來,問題的罪魁禍首往往不是 Denuvo 本身,而是遊戲的開發團隊。

你需要知道什麼:

D加密對配置越低(特指CPU性能)的電腦影響最大,但只要你的CPU性能不是完全落伍且遊戲開發者並沒有設置喪心病狂的D加密校驗次數,那麼幾乎可以忽略影響。

大多數遊戲只有當發生重大事件,比如場景切換、加載畫面等時,記錄D加密的日誌纔會逐漸積累。

這告訴我們,在正常遊戲過程中,執行的Denuvo代碼量遠少於場景切換或加載畫面時。

不過那些情況下可能出現的性能問題對大多數人來說似乎也無關緊要,畢竟不論預渲染還是實時渲染只要夠30~60幀的過場就夠看了。

被大多數人舉例的生化危機8的例子是錯誤的,不是Denuvo造成的,而是卡普空內部運行的DRM。

re4去除d加密後上的加密是另一款The Enigma Protector,所以影響幀率的並非d加密,去除e加密時期,d加密移除前後幀數變化也不大。

數毛社Digital Foundry測試RE4:

測試配置:Ryzen 5 3600 + RTX 4070 Super,1440P FSR 2性能模式(CPU瓶頸極限場景)

D加密時期:平均幀率217fps

E加密時期:同場景幀率驟降至144fps,相比D加密降幅約33.6%,CPU處理時間額外損失最高1.9ms

移除E加密後:幀率完全恢復至D加密水平,同場景平均幀率215-220fps,與D加密時期差距不足1%

營銷號傳的生化危機9的也是,因爲其實那個測試對比的RE9版本並不相同,而且也並沒有移除D加密,只是僞造令牌而已,D加密依然在運行。

相同遊戲版本下測試,幀率並沒有變化⬇

比起揪着 D 加密不放,把它當成所有遊戲優化問題的 “萬能背鍋俠”,我們更該去呼籲開發者拿出更專業、更剋制的加密部署方案,去真正關注遊戲本身的品質與優化誠意。

本文也不想討論玩盜版遊戲的是非對錯,畢竟不會買的永遠不會買,會買的總會買。

私以爲會買200+-有D加密遊戲的絕大多數CPU也不會差到3600乃至更低的程度,盜版玩家也不會。

不論國內外盜版遊戲玩家佔比如何,想玩遊戲還能找到盜版並安全遊玩的畢竟是少數羣體。

我覺得玩家真正想要的,從來都不是一場加密與破解的流量狂歡,而是一款能順暢玩下去的好遊戲。

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com