在 2018-2019 年 NVIDIA 與 AMD 先後發表了新一代的 Turing 及 Navi 架構,但 DirectX 能支援多少新功性呢?在 DirectX 開發日中, Microsoft 發表新一代的 DirectX 12 Ultimate API (feature level 12_2) ,成為 DirectX 12 (feature level 12_1) 推出 5 年來的最大更新。
[ot-video][/ot-video]
支援新 1.1 版 DXR
NVIDIA 在 Turing 中加入光線追蹤 (Ray-Tracing) 、可變速率著色 (Variable Rate Shading) 、網格著色器 (Mesh Shaders) 及取樣器回饋 (Sampler Feedback) 4 大功能,不過上述功能皆有賴圖形 API 支援才能使用。即以最熱門的 Ray-Tracing 為例,雖然 RTX 2080/Ti 顯示卡已於 9 月份出貨,但等待 Windows 10 1809 更新及《 Battlefield V 》遊戲遊戲推出後已是 11月份的事情,可見軟件支援的重要性。 DirectX 12 Ultimate 支援較新的 1.1 版 DXR ,較 1.0 版有更高的效能及特效。
正式支援 VRS 、 Mesh Shaders 及 Sampler Feedback
其餘三項功能沒 Ray-Tracing 名氣那麼大,但對於提升遊戲速度及畫質也起了重要的作用。先說說可變速率著色 (Variable Rate Shading) ,該項功能在 Windows 10 v1909 更新已經支援,而 3D Mark 在去年 12 月也推出專用的測試項目 Variable-Rate Shading 。該項功能可動態調整著色優先次序,減少不必要的著色資源浪費,從而提升效能。
網格著色器 (Mesh Shaders) 以 GPU 判斷遊戲物件的細節等級 (Level of detail,簡稱 LOD ) ,如 1, 2, 4, 6, 8 及最高 10 級 LOD 。為重要的物件(如較靠近玩家視野中心)提高著色和曲面細節,反之則降低細節,達到維持高畫質的同時又不失效能。
最後一項取樣器回饋 (Sampler Feedback) 主要針對紋理讀取效率,分為 1. 紋理空間著色 (Texture-Space Shading) 功能,可減少著色過程中多餘紋理渲染; 2. 著色重複使用 (Shading Reuse) 功能,可減少紋理重複載入的時間; 3. 材質串流 (Texture Streaming) 功能,可減少所用記憶體等等。
Win10 v2004 更新才支援
雖然 Microsoft 表示了 DirectX 12 Ultimate ,但該項功能要等待 Windows 10 版本 2004 更新才正式提供,加上支援遊戲開發需時,遊戲開發者也要時間才能完全掌握其特性,預計大家要等一段時間才能感受到新特性的好處。