發布 D9VK 0.40,基於 Vulkan 的 Direct3D 9 實現

發生 項目發布 D9VK 0.40,它提供了一個 Direct3D 9 實現,透過將呼叫轉換為圖形 API 來運作 福爾康。該專案基於專案的程式碼庫 DXVK,已擴展為支援 Direct3D 9。與基於 WineD3D 的 Direct9D 3 實作相比,D9VK 實現了更好的效能,因為透過 OpenGL 的 Direct3D 9 轉換比透過 Vulkan 的轉換慢。

D9VK 可用於使用 Wine 在 Linux 上運行 3D 應用程式和遊戲。支援大多數基於 Direct3D 9 使用著色器模型版本 2 或 3 的遊戲。專案程式碼 分發者 根據免費的 Zlib 授權。 D9VK 需要支援 Vulkan API 的驅動程序,例如 AMD RADV 18.3+、NVIDIA 415.22+、Intel ANV 19.0+ 和 AMDVLK。

主要改進:

  • 實現了在 4 位元應用程式中使用超過 32 GB 視訊記憶體的能力,解決了啟動《Skyrim》和《Oblivion》遊戲模組時出現的問題;
  • 啟用在螢幕上顯示渲染結果的非同步處理(呈現階段)。為了減少主渲染線程的延遲,在命令提交線程中執行輸出處理;
  • 刪除了檢索請求資料時不必要的命令流同步點;
  • 用於確定內部時間的程式碼已轉換為使用特定於平台的計時器,這有助於解決 MinGW 的 high_resolution_clock 的錯誤行為問題;
  • 在PrepareDraw執行前階段卸載了延遲緩衝區MANAGED和SYSTEMMEM,解決了《崛起》和《英雄傳說:空之軌跡》遊戲中的效能問題;
  • 增加了支持 D3DTA_CONSTANT,這使得實現正確的渲染成為可能 發光效果 在 SpinTyres 和 Mudrunner 遊戲中;
  • 改進了相容性 DirectX 9Ex (D3D9Ex)。考慮處理 ResetEx 和 Reset 的細節;
  • 清理和重構程式碼;
  • 提供了 WRITEONLY 緩衝區的直接映射,這可以對性能產生積極影響並繞過遊戲中的錯誤
    反恐精英:全球攻勢,導致緩衝區解鎖後繼續寫入;

  • 實施方法 設定對話框模式,它允許您在全螢幕應用程式中使用對話框;
  • 實施支持 混合頂點包括 索引頂點混合,SWVP(軟體頂點處理)所需;
  • 顯示在目前影像(平視顯示器,HUD)頂部的取樣計數器已重新設計;
  • 新增選項 d3d9.dialogBoxMode,可用於停用僅在全螢幕模式下工作;
  • 進行了效能優化並解決了啟動GTA 遊戲時出現的問題:聖安地列斯、假面血族、馬克思佩恩2、模擬市民2、獵殺潛航3、閃亂神樂Shinovi、龍與地下城、孤島危機、合金彈頭X、ANGLE、極品飛車速度:碳和崛起1。

此外,還可以注意到 意圖 專案開發商 DXVK (在 Vulkan API 之上實現 DXGI、Direct3D 10 和 Direct3D 11)將暫時僅將精力集中在錯誤修復上,從而減慢功能的擴展。相似的願望 造成的 擔心程式碼庫品質下降以及未來維護更加困難。 1.4.x 分支的每次更新都會引起人們對無法複製、本地化和修復的回歸更改的抱怨。

這些問題需要分析其發生的原因,否則在繼續增加功能的同時不加以糾正只會使情況變得更加嚴重,並使維護過程變成一場噩夢。 DXVK 開發人員打算在切換到僅修復錯誤模式之前實施的計劃包括添加對一些有用的 Vulkan 擴展的支援以及與 D9VK 專案的開發合併。

補充:腳跟很熱 形成 修正版本 D9VK 0.40.1,其中 固定的 將 vec4(1) 設為頂點著色器中 COLOR0 的預設值,並修復了錯誤應用預設著色器輸出插槽並因此被後端錯誤修正的錯誤,導致它們被 vec4(0) 取代。

來源: opennet.ru

添加評論