微軟釋出 DirectX 12 Ultimate ,它帶來了哪些改變?
幾乎每一個玩過電腦遊戲的人,都聽過 DirectX 的大名。作為 Windows 系統自帶的圖形 API(應用程式程式設計介面),大部分 PC 遊戲都需要它的支援。
目前 DirectX 的最新版本是 DirectX 12,它釋出於 6 年前,已經相當長時間沒有大更新過了,昨天微軟終於公佈了它的升級版—— DirectX 12 Ultimate 。從字面意思上來看,它是 DX 12 的終極版,它將會隨著 Win 10 2004 系統更新一同推送。
DirectX 12 Ultimate 都用哪些特性?
從 DX 12 開始,微軟就已經將主機和 PC 之間的圖形介面打通,Win 10 和 Xbox One 都使用了 DX 12 作為圖形 API 。使用相同 API 帶來的好處也十分明顯,遊戲公司在開發遊戲時,不需要再為 Xbox 和 PC 端的移植而煩惱,所以我們能看到,大量 Xbox 遊戲出現在 PC 的應用商店中。
這次微軟釋出的 DirectX 12 Ultimate 也同樣是跨平臺的 API,這也讓下一代 Xbox 理所當然的獲得了 PC 上的某些畫面特性,比如老黃普及的光線追蹤。
DirectX Raytracing Tier 1.1
這次微軟將 2018 年釋出的 DXR 1.0 更新到了 DXR 1.1 版本,這是一次增量更新,最明顯的變化有:
這些特性為遊戲開發者提供了一套規避複雜光線追蹤場景的方法,讓開發者可以透過呼叫新函式,獲得物體遮擋查詢、剔除等功能,讓開發者能更快的構建光線追蹤的場景,給遊戲提供更好的光追效果和效能。
在微軟釋出 DirectX 12 Ultimate 後,NVIDIA 表示將 RTX 系列處理器將完全支援 DXR 1.1 特效,AMD 也宣佈將在 RDNA 2 架構中支援該特性。
VRS(可變速率著色)
除了光追外,之前 NVIDIA 推出的 VRS 技術也被微軟認可,並將其加入 DirectX 12 Ultimate 中。VRS 全稱是可變速率著色技術,它最明顯的作用就是降低顯示畫面中一些不重要區域色彩紋理,從而提升畫面的流暢度。
在這一技術被應用之前,GPU 需要為畫面上的每一個畫素點單獨著色。而 VRS 就是對畫面區域進行劃分,為不同的區域選擇不同的著色解析度,細節要求不高的區域就將多個畫素點一起著色,大幅降低了 GPU 著色的次數,大大減輕了顯示卡的計算壓力。
比如上面這張圖,畫面邊緣最不顯眼位置的著色解析度就被降到了最低,雖然這部分畫面的質量有所下降,但由於它只是背景,玩家不會有明顯的感知。省下來的 GPU 資源,則用於提升幀率,減少感知更明顯的卡頓現象。
可以說,有了 VRS 技術後,平均幀率不高的中低端顯示卡將將會獲得不小的體驗提升。
Mesh Shader
除了為最後為畫素著色外,圖形渲染在前期還需要完成物體的 3D 模型計算渲染。這個工作之前需要向 CPU 傳送一個 Draw Call(繪製呼叫)。通常情況下, 它會因為 CPU 的效能瓶頸,限制 GPU 的發揮。
Mesh Shader 的可以解決這一問題,它可以讓開發人員不用考慮單個頂點或者單個圖元,用一組預定的執行緒更高效的完成渲染流程。
Mesh Shader 可以進一步提幾何圖形的細化程度,例如對硬體進行程式設計,並用簡單的方式描述樹幹枝杈的位置,最後生成細節更多的樹皮樹葉。
有了 Mesh Shader 後, 遊戲場景中灌木從,植被等物體將有詳細的細節,能進一步提高場景的真實性。
Sampler Feedback(取樣器反饋)
這一功能其實和 VRS 類似,都是透過減少某些冗餘資訊,降低 GPU 負載並提高效能。
與影片壓縮採用幀與幀之間的畫面向量預測不同,遊戲中的渲染大部分都是從「0」開始,也就是不停地重複獲取頂點、視角轉換、投影、照明、剪裁、柵格化的工作,不管前後兩幀畫面有多少相同。
事實上,大多數遊戲在的場景變動都十分緩慢,大多數「物件」在畫面中並沒有改變(例如天空,遠景)。取樣器反饋就是透過降低對這些物件著色的速度(比如每 3 幀一次),來降低 GPU 的工作壓力。
這一功能可減少重複對遠景和緩慢變化的陰影著色對效能影響,進一步提升畫面的幀率。
總結:開發者福利,NV 大獲全勝
這次的 DirectX 12 Ultimate 是一次增量更新,加入了之前 NVIDIA 推出的新技術,包括光追和 VRS 。有別於 DX 10 和 DX 11 的技術躍進,DirectX 12 Ultimate 更多是為開發者提供更底層的最佳化空間。
反映在遊戲上,我們可以會看到:更有經驗和實力的開發者會用 DX 12 Ultimate 的新特性做出非常驚豔的遊戲畫面,同時效能最佳化也非常出色。但如果是遊戲開發者沒有呼叫這些工具,它將不會對畫面和畫面效能產生太大提高。
不過 DirectX 12 Ultimate 橫跨主機與 PC,一些首發於主機的遊戲在開放到 PC 平臺後或許也能獲得新特性的最佳化。
最後說一個好訊息:NVIDIA 表示 RTX 系列將完全支援 DirectX 12 Ultimate 的所有特性,AMD 即將推出的 Navi 架構顯示卡也支援 DirectX 12 Ultimate,AMD 已經發布了第一個執行光追的 DEMO。
未來幾年,光追或將全面普及。