CodeWeavers團隊致力於為Mac引入DirectX 12遊戲兼容支持

當 Valve 攜手 CodeWeavers 團隊的部分成員以幫助構建 Proton 時,他們可能沒料到後者取得現今如此巨大的成就。自 2016 年秘密開動以來,Steam 遊戲庫中的很大一部分,現在都可以在 Linux 平台上體驗了。這些遊戲的一個共通點,就是未搭配旨在檢測其運行環境的 Windows 反作弊客戶端,所以也沒有成為與 DXVK / VKD3D 不完全兼容的 DirectX 調用的受害者。

CodeWeavers團隊致力於為Mac引入DirectX 12遊戲兼容支持

(來自:CodeWeavers)

Neowin 指出,DXVK 是負責將 DirectX 即時轉換為 Vulcan 的軟件,而 VKD3D 也為 DirectX 12 提供了同樣的支持。

當然,CodeWeavers 對 Proton 的衍生技術並不陌生。20 多年來,他們一直在 Wine(不是一套單純的模擬器)上構建,積極為公共與私營部門提供商用解決方案。

2006 年,當蘋果轉投英特爾芯片時,CodeWeavers 的消費級產品 Crossover Office 也獲得了新生,促使其將 Linux / Xorg 上的原生應用程序移植到 BSD / Aqua 環境。

CodeWeavers團隊致力於為Mac引入DirectX 12遊戲兼容支持

現在,CodeWeavers 團隊正面臨著與 DirectX 12 實現兼容的新挑戰。儘管實驗代碼已合併到 Valve / Proton 中,以供 Linux 用戶使用。然而 Mac 上的 VKD3D,仍面臨著諸多必須克服的技術挑戰和限制。

具體說來是,登陸 macOS 平台的最大障礙,是蘋果家的 Metal 底層。與 Vulkan 等跨平台技術相比,DX12 可調用百萬級的着色器資源視圖(SRV),而 Metal 的 SRV 上限僅為它的一半。

簡而言之,Metal 以不同的方式進行細分,且缺少幾何着色器與變換反饋,結果就是 DX12 / Metal 存在特定的資源限制問題。

通常遊戲需要訪問至少百萬個着色器資源視圖(SRV),訪問這麼多 SRV 需要在第 2 層級進行資源綁定。但 Metal 的每個參數緩衝區僅支持大約 50 萬資源,因而無法做到 2 級資源綁定。

即使 Metal 的 50 萬限制對於 Vulkan 描述符索引已足夠,但這種情況並不適用於 D3D12 —— 意味着 CrossOver Mac 不支持 Tier 2 綁定,導致許多 DX12 遊戲無法運行。

好消息是,CodeWeavers 似乎有信心掃除這些障礙,並在即將推出的 CrossOver 23 中為 Mac 帶來 DX12 兼容性(推向上游 Proton 實驗)。

當然,如果你不強求在 M1 硬件上玩 PC 遊戲,那在 Steam Deck、SteamOS 3.0、以及廣闊的 Linux 桌面環境中玩遊戲的朋友,還是能夠更快地獲得這項體驗的。

這對於那些想要在M1 硬件上玩 PC 遊戲的人來說是個好消息。對於那些計劃在 Steam Deck、Steam OS 3.0 或廣闊 Linux 桌面環境中的任何其他地方玩遊戲的人,您將能夠更快地利用這些進步,因為它們被推向上游Proton 實驗。

(0)
上一篇 2021-12-24 13:10
下一篇 2021-12-24 14:10

相关推荐