參考圖p3
VKd3d的開發人員最近提出了一個拉取請求,指出了他發現的有關 starfield 的對GPU 驅動程序執行的操作的所有可怕事情
基本上:
1:Starfield 錯誤地分配其內存,與 CPU 頁面大小不匹配。如果您的 GPU 驅動程序對此不夠穩健,您的遊戲將會隨機崩潰。
2:Starfield 濫用了名爲ExecuteIndirect的調用,這玩意想要的事情之一就是處理遊戲中的一些提示,以便圖形驅動程序知道會發生什麼。由於 Starfield 發送這種虛假提示,導致圖形驅動程序在嘗試處理數據時會措手不及,最終在命令隊列中產生氣泡。這些氣泡意味着 GPU 必須停止正在執行的操作,仔細檢查其對間接執行所做的假設,然後重新開始。
3:Starfield 連續創建多個“ExecuteIndirect”調用,而不是對它們進行批處理,這意味着上述問題會多次複雜化。
這就是爲什麼對新出的dx12遊戲支持普遍都很好的Intel ARC顯卡跑這個星空時會直接驅動程序崩潰,連ARC 770跑這遊戲性能糟糕的連最低配置要求都滿足不了
這就是爲什麼N卡玩這遊戲顯卡功耗低下普遍都跑不上去,因爲這AMD贊助遊戲導致N卡驅動在遊戲發佈前都無法訪問遊戲代碼,顯卡驅動也自然沒法處理識別這種刻意的虛假提示調用,導致N卡GPU休眠停止執行操作,幀數低下
很難不聯想到這就是一種AMD贊助遊戲方面的刻意破壞行爲,因爲不像其他不能提前訪問遊戲原代碼的競爭供應商,AMD顯卡驅動程序顯然提前就已經知道了如何處理這種虛假提示來有效利用自家顯卡硬件,貝塞斯達也一樣和AMD合作開發這麼久不可能不知道這個事情,可以說就是狼狽爲奸噁心其他競爭硬件廠商了,也不奇怪陶德爲什麼還能這麼睜眼說瞎話吹遊戲優化好
上面提到的 RADV 是主要由 AMD 創建的開源 AMD 驅動程序,他們的閉源驅動程序很可能具有相同的優化。因此,AMD 贊助的遊戲恰好做了一些奇怪的事情,降低了 GPU 的速度,而 AMD 恰好有適當的解決方法也就不奇怪了
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com