近年來,反篡改解決方案Denuvo因其對遊戲性能的潛在影響而在玩家和開發者中備受爭議。儘管業界長期懷疑其是導致遊戲卡頓、幀率下降的元兇,但一直缺乏深入的技術剖析。近日,來自技術博主和程序員的分析,揭示了Denuvo可能損害遊戲性能的內在運作機制。

根據博主Nathan Baggs的分析以及程序員@valigo在社交媒體上的佐證,Denuvo的核心工作原理是:它將遊戲的部分關鍵代碼包裹在一個自定義的虛擬機中。原本為CPU高效執行而優化編譯的指令,會被轉換為此虛擬機特有的指令集。
這個基於堆棧的虛擬機相當於一個軟體模擬的「CPU」。在遊戲運行時,虛擬機會通過即時編譯技術,將轉換後的指令再次編譯成真實CPU能執行的代碼。但在此過程中,Denuvo會引入大量無用的跳轉指令和混淆代碼,迫使CPU的指令流水線和分支預測器進行更多無效工作。
Finally learned why Denuvo destroys performance. It runs normal code through a fantasy stack-based VM that jits the code back together with a bunch of junk jumps on the fly, completely trashing CPU cache and undoing optimizations that developers worked hard on. And this is apart from constant timing and fingerpringing, and a bunch of other evil stuff. Truly a bane of gaming.
更關鍵的影響在於,遊戲開發時精心優化的循環、記憶體訪問順序和指令排列,會被Denuvo的虛擬機打亂和重新包裹。這導致原有的優化大部分失效。同時,現代CPU高度依賴緩存和推測執行來提升效率,而Denuvo不斷以非常規模式重構代碼,會使CPU緩存頻繁失效,從而嚴重拖累性能。
用通俗的話說,所有這些複雜的技術保護措施——包括定時檢測、指紋識別和完整性校驗——都增加了CPU的額外負擔。其代價直接表現為玩家在實際遊戲中遇到的加載時間變長、畫面卡頓和幀率下降。
Denuvo在遊戲行業內的聲譽頗為複雜,許多採用它的工作室都面臨玩家社區的強烈反彈,截至目前,Denuvo的創造者尚未對此次分析的具體發現做出官方正式解釋。






