在 Vulkan API 之上發布 DXVK 2.0、Direct3D 9/10/11 實現

DXVK 2.0 層的一個版本可用,提供 DXGI(DirectX 圖形基礎設施)、Direct3D 9、10 和 11 的實現,通過對 Vulkan API 的調用轉換工作。 DXVK 需要支持 Vulkan 1.3 API 的驅動程序,例如 Mesa RADV 22.0、NVIDIA 510.47.03、Intel ANV 22.0 和 AMDVLK。 DXVK 可用於使用 Wine 在 Linux 上運行 3D 應用程序和遊戲,作為運行在 OpenGL 之上的 Wine 內置 Direct3D 9/10/11 實現的更高性能替代方案。

主要變化:

  • 對 Vulkan 圖形 API 的版本要求增加到需要支持 Vulkan 1.3 的驅動程序(之前需要 Vulkan 1.1),這使得實現對與著色器編譯相關的新功能的支持成為可能。 實際上,DXVK 2.0 可以運行在任何支持使用質子實驗包運行基於 D3D11 和 D3D12 的遊戲的系統上。 Winevulkan 至少需要 Wine 7.1 才能運行。
  • 採用了 dxvk-native 項目的代碼,它允許你為 Linux 生成原生的 DXVK 構建(不綁定 Wine),它可以用於不運行 Windows 應用程序,但在普通的 Linux 應用程序中,這可以用於創建Linux 遊戲端口,無需更改基於 D3D 的渲染代碼。
  • 對 Direct3D 9 的支持得到了擴展,包括改進的內存管理(內存映射文件用於存儲紋理副本)、支持正確讀取熱點(解決了玩 GTA IV 時出現偽影的問題)以及重新設計的透明度檢查。
  • 對於 Direct3D 10,d3d10.dll 和 d3d10_1.dll 庫已停用,默認情況下不會安裝它們,因為在 wine 中存在更高級的 D3D10 實現。 同時,在 d3d10core.dll 庫中繼續支持 D3D10 API。
  • 對 Direct3D 11 的支持已升級到功能級別 12_1(D3D11 功能級別),以實現 Tiled Resources、Conservative Rasterization 和 Rasterizer Ordered Views 等功能。
  • ID3D11DeviceContext 接口的實現(表示生成繪圖命令的設備上下文)已經過重新設計,其行為更接近 Windows。 重新設計可以提高與第三方庫的兼容性並減少 CPU 的負載。 特別是在大量使用延遲上下文(如刺客信條:起源)或頻繁調用 ClearState 操作(如戰神)的遊戲中,CPU 使用率有所降低。
  • 已對著色器的編譯進行了更改。 在存在支持 VK_EXT_graphics_pipeline_library 擴展的 Vulkan 驅動程序的情況下,Vulkan 著色器是在遊戲加載 D3D 著色器時編譯的,而不是在渲染期間編譯的,這解決了由於遊戲期間著色器編譯而導致的凍結問題。 所需的擴展目前僅在 520.56.06 版開始的專有 NVIDIA 驅動程序中受支持。
  • D3D11 著色器使用 Vulkan 內存模型。
  • 取消了一次可以綁定的資源數量限制。
  • 修復了遊戲中出現的問題:
    • 艾倫·韋克
    • 愛麗絲瘋狂回歸
    • 異常:戰區地球
    • 超越善惡
    • 龍騰世紀起源
    • 帝國:全面戰爭
    • 最終幻想XV
    • 俠盜獵車手IV
    • 滅亡帝國的英雄
    • 極限拳皇XIII
    • 潛龍諜影五:地面零點
    • SiN 劇集:出現
    • 索尼克世代
    • 蜘蛛俠
    • 船舶
    • 戰鎚在線
    • 伊蘇七號

來源: opennet.ru

添加評論