微軟的Windows 10系統帶來了DirectX 12(以下簡稱DX12),這是最新一代的圖形API,幾年來一直在小修小補,現在微軟宣布2020年的Windows 10 20H1版中DX12功能將大幅升級,帶來新的DXR 1.1光追、網格渲染及采樣反饋等新功能,3D顯卡要洗牌了。
這次升級的一大重點是新的DXR光追標準,2018年10月份微軟發布了第一版DirectX Raytracing,也就是DXR Tier 1.0(NVIDIDA的RTX光追也是基于這個規范的),游戲開發者可以使用DXR規范將電影級的實時動態畫面帶入到眾多游戲中。
現在微軟要推出新的DXR規范了,新標準被稱為DXR Tier 1.1,在1.0版基礎上增加了如下功能:
·支持向現有的光追PSO添加額外的渲染器,從而大幅提升動態PSO的效率。
·光追支持間接執行(ExecuteIndirect),這樣一來GPU執行單元時間軸上的光線數量可以啟用自適應算法來調節。
·引入內聯光追(Inline Raytracing),它可以為光線遍歷算法及渲染器調度提供更多的直接控制,如果基于渲染的的光追系統誤宰,那它可以提供更簡單的選擇,或者是提供更多靈活性,因為RayQuery可以被每一步渲染過程調用。
此外,它在計算中還提供了新的DXR應用實例,尤其是剔除、物理、吸收、查詢等。
微軟表示,DXR Tier 1.1是Tier 1.0標準的超集,開發人員可以基于現有的Tier 1.0規范來構建光追解決方案,然后評估升級到Tier 1.1的收益后再根據游戲需要升級——說白了就是Tier 1.1是可選的,開發者自己決定用不用。
除了DXR光追技術升級,微軟在DX12最新版中還會引入網格渲染(mesh shader),這是下一代GPU的幾何處理功能,取代當前的輸入匯編器、頂點渲染器、船形渲染器、曲面細分、域渲染器、幾何渲染器等。
微軟表示,引入網格渲染器主要是提高幾何渲染管線的靈活性和性能,可以讓游戲開發者增加幾何細節而不需要犧牲速率的情況下渲染更復雜的場景。
還有一項升級是采樣器反饋,這也是一項新功能,用于記錄采樣操作期間訪問紋理的哪些區域,使用這個功能后,游戲可以在渲染過程中生成反饋圖,以記錄MIP層的哪些內容需要駐留。
微軟的官方博客中還有更詳細的介紹,有興趣的可以閱讀下。
根據微軟所說,全新的DX12將在Windows 10 20H1系統中啟用,通過Insider計劃可以升級到最新系統,然后需要下載新的DX渲染編譯器,但還需要顯卡廠商提供最新的GPU驅動。
微軟沒提到DX12新版需要什么樣的硬件,但是從目前來看,現有DX12顯卡應該是不能完全兼容新規范了,DXR及網格渲染應該需要全新GPU架構,考慮到這是給明年的Windows 10系統準備的,AMD、NVIDIA明年發布的RDNA2、Ampere架構才能完整支持全新DX12。
對于游戲玩家來說,DirectX 12可能是Windows 10 最具閃光點的更新了。然而這次更新并沒有DirectX10 那么具有革命性,但它一經推出,就受到了游戲玩家和開發商的強烈關注。DirectX12同AMD Mantle API類似,但僅支持Windows10。
DirectX12 一個最重要的特性就是支持雙顯卡同時渲染,將可拆分的、相鄰的工作負載分配到不同的GPU,顯卡間都能協作執行。這將大大提高顯卡的性能和游戲的畫質。
另外,DirectX12 大大提高了多線程效率,可以充分發揮多線程硬件的潛力。DirectX11在這方面受CPU 性能的嚴重制約,主要是因為不能有效利用多核心。微軟宣稱,微軟對多核心CPU 的利用幾乎是完美線性增長的,也就是說四核心能接近單核心的四倍。DirectX12 還有渲染流水線、渲染特性、資源管理、命令列表與綁定、描述符跳躍等等方面的改進。
不過,至今完全支持DirectX12 的游戲還比較少,開發商也要顧及Windows 10 以下系統的兼容性。所以,DirectX12 普及,尚需時日。
需要說明的是,只要顯卡廠家有針對 Windows 10 的更新驅動,就應當能支持DirectX12,而不受上面列表之限。Feature Level 12_1 代表支持 DirectX12 全部特效,Feature Level 12_0 則是部分特效。 同時,DirectX12 Feature Level 11_1、11_0 說明它們對應支持的特效更少,但也兼容DirectX12,能夠享受DirectX12 底層加速。因此,等級越高,代表顯卡支持程度越高,相應的價格也越昂貴。
以下列舉一些支持的硬件列表(圖2-16),你可以通過這個列表確定顯卡是否在受支持范圍內。
Geforce 桌面顯卡系列(420 及以上)
Geforce 移動顯卡系列(410M 及以上)
AMD
Radeon R9/R7 系列顯卡
Radeon R5 240 顯卡
OEM 市場的Radeon HD 8000 系列(8570 及以上型號)
筆記本市場的Radeon HD 8000M 系列
Radeon HD 7000 系列(7730 及以上型號)
筆記本市場的HD 7000M(7730M 及以上型號)
INTEL
Core i7/i5/i3 (4xxx 及以上)
GTX750/GTX750Ti
GeForce 830M, GeForce 840M, GeForce GTX 850M, GeForce GTX 860M
GeForce 930M, GeForce 940M, GeForce GTX 950M, GeForce GTX 960M
AMD
Radeon HD 7790、Radeon R7 260(X)
Radeon R9 285、Radeon R9 290(X), Radeon R9 295X2、Radeon R9 360(X)、Radeon
R9 370(X)、Radeon R9 380(X)
AMD A4/A6/A8/A10 系列(Kaveri 架構)
AMD A6/A8/A10 Pro-7000 系列(Kaveri 架構)
AMD E1/A4/A10 Micro-6000 系列(Mullins 架構)
AMD E1/E2/A4/A6/A8-6000 系列(Beema 架構)
桌面平臺:
GTX Titan X、GTX 980 Ti、GTX 980、GTX 970、GTX 960
移動:
GTX 980M、GTX 970M、GTX 965M
AMD
Radeon R9 390(X)、Radeon R9 395X2
①:指Feature Level 11_0 和11_1
②:指 Feature Level 12_0
③:指 Feature Level 12_1