1.2 幀到 79 幀:微軟給 DirectX 光追做了八年來最大一次更新

作者:vicissitude 發布時間:2026年11月01日 11:43

一句話:10 月 28 日,微軟為 DirectX 光線追蹤釋出了 2018 年問世以來最大的一次更新。官方測試場景裡,一張 AMD 顯示卡的幀率從 1.2 FPS 跳到了 79 FPS。

10 月 28 日,微軟釋出 DirectX 12 Agility SDK 1.620 正式版和 1.722 預覽版。預覽版為 DirectX 光線追蹤(DXR)引入三項新功能:聚類幾何(Clustered Geometry)、分割槽頂層加速結構(PTLAS),以及 GPU 驅動的加速結構構建。微軟工程師 Amar Patel 在官方部落格中稱,這是 DXR 自 2018 年 3 月推出以來最重大的一次更新。

官方路徑追蹤森林示例:25 平方公里、超過 6000 萬株植物(圖:微軟 DirectX 開發者部落格)
官方路徑追蹤森林示例:25 平方公里、超過 6000 萬株植物(圖:微軟 DirectX 開發者部落格)

一、先弄清一個問題:光追為什麼慢

光線追蹤的原理可以一句話說完:GPU 從相機位置射出海量光線,逐條計算它們和場景裡三角形的關係——照到哪裡、反射幾次、被什麼擋住。

問題出在規模上。一個現代 3A 場景有數百萬個三角形,逐條光線、逐個三角形地算是不可能的。所以業界通用的辦法是加速結構:把三角形按空間位置預先組織成一棵「樹」,光線照過來時先查樹,幾下就能排除掉和它完全無關的絕大部分割槽域。

但加速結構有個前提:場景最好是不動的。 而遊戲場景恰恰相反——角色在跑、樹木在搖、新的地形在載入。在傳統方案裡,一個模型動了,它對應的整塊加速結構往往就要重建。場景越大、動的東西越多,這個重建的開銷就越大,大到什麼程度,後面的資料會說明。

正因為重建太貴,很多遊戲現在的做法是給光追單獨做一套簡化模型:你在畫面裡看到的是高精度模型,但陰影和反射計算用的是另一套低精度替身。代價是反射裡的畫面和真實場景對不上。

二、這次更新的三個新東西

《數碼硬體》實機截圖 2

聚類幾何(Clustered Geometry):不再把模型當成一個整體,而是拆成許多「叢集」,每個叢集最多 256 個三角形、256 個頂點。模型的某個部分動了,只需重建或複用對應的叢集,其餘部分原樣保留。

同一場景啟用聚類幾何後:模型被拆成可複用的小叢集,只重建變化部分(圖:微軟 DirectX 開發者部落格)
同一場景啟用聚類幾何後:模型被拆成可複用的小叢集,只重建變化部分(圖:微軟 DirectX 開發者部落格)

微軟在官方部落格中指出了它的一個直接收益:構建開銷降下來之後,用光柵化渲染的同一套高精度模型直接做光追開始變得可行,不再需要為光追單獨製作簡化模型——陰影和反射可以和你看到的場景嚴格一致。

分割槽頂層加速結構(PTLAS):把同樣的思路從單個模型擴大到整個場景。場景被劃分為多個分割槽,某個分割槽裡有物體變化,只更新這個分割槽,其餘區域的加速結構資料原樣保留。對開放世界這種「大世界、小變化」的場景針對性很強。

GPU 驅動的加速結構構建:讓 GPU 直接生成構建指令,減少 CPU 和 GPU 之間的來回溝通。

三項功能可以單獨使用,也可以組合使用。

三、官方實測:66 倍是怎麼來的

微軟公佈的 D3D12RaytracingClusteredGeometry 示例,使用 AMD Radeon RX 9070 顯示卡測試,對比如下:

《數碼硬體》實機截圖 4

微軟官方部落格公佈的聚類構建基準資料圖表(圖:微軟 DirectX 開發者部落格)
微軟官方部落格公佈的聚類構建基準資料圖表(圖:微軟 DirectX 開發者部落格)

兩點必須說清楚:

第一,這不是你在遊戲裡能期待的提升。 微軟明確說明,以上資料來自特定的程式化測試場景,實際收益取決於場景複雜度、引擎實現和 GPU 硬體,不能理解為現有遊戲能獲得 66 倍提升。

第二,代價是臨時視訊記憶體。 構建過程中需要的臨時視訊記憶體明顯增加:靜態部分從 1.83 MiB 漲到 526 MiB,動態部分從 8.25 MiB 漲到 179 MiB。用階段性的記憶體開銷,換取更低的最終視訊記憶體佔用。

另一個官方示例更直觀:NVIDIA 提供的多米諾骨牌演示裡,傳統方案每幀需要全量重建頂層加速結構,耗時 2.88 毫秒;改用 PTLAS 後,只對發生變化的 4702 處做區域性寫入,耗時 0.79 毫秒——代價是光線遍歷稍微變慢了一點。

多米諾骨牌示例的 PTLAS 模式:彩色塊即場景分割槽,只有變化的分割槽需要更新(圖:微軟 DirectX 開發者部落格)
多米諾骨牌示例的 PTLAS 模式:彩色塊即場景分割槽,只有變化的分割槽需要更新(圖:微軟 DirectX 開發者部落格)

微軟和 NVIDIA 還公佈了一個路徑追蹤森林示例:25 平方公里、超過 6000 萬株植物,用上了這次更新的全部功能。另外根據開發者文件,聚類幾何構建完成後不能再做區域性修補(refit),叢集一旦變化,建立在其上的結構需要重建。

四、哪些顯示卡能用,什麼時候能用上

這次更新的一個特點是不需要新的光追硬體,但需要顯示卡廠商推送配套驅動。微軟公佈的首批支援範圍:

《數碼硬體》實機截圖 7

微軟在部落格中同時提示:部分舊款光追 GPU 的相容性仍待驗證,驅動開發中可能暴露效能問題,最終能否開放存在不確定性。

時間表方面:這些光追功能目前處於預覽階段,需要 Agility SDK 1.722 預覽版、預覽版驅動、Shader Model 6.10 預覽版,還要開啟 Windows 開發者模式。Shader Model 6.10 的正式版預計 12 月初隨 SDK 1.621 釋出,但這批光追功能本身的正式商用時間尚未公佈。

換句話說:這是一次發給開發者的更新,不是發給玩家的更新。 玩家真正感受到它,要等遊戲引擎和作品開始採用。

五、和正在玩的遊戲有什麼關係

這條技術路線對玩家並不陌生——NVIDIA 此前推出的 RTX Mega Geometry 是同一思路的廠商私有方案,10 月 6 日發售的《戰爭機器:事變日》已經率先採用。

《戰爭機器:事變日》10 月 6 日發售,已透過英偉達私有介面採用同類技術(圖:Steam 商店頁面(Xbox Game Studios))
《戰爭機器:事變日》10 月 6 日發售,已透過英偉達私有介面採用同類技術(圖:Steam 商店頁面(Xbox Game Studios))

這次更新的意義在於標準化:同樣的能力被寫進了 DirectX 公共介面,AMD、Intel、NVIDIA 的硬體走同一套 API。開發者不再需要為單一廠商的顯示卡單獨開發。

兩家廠商在微軟官方部落格中的表態:

NVIDIA 工程高階總監 Martin Stich:「這些功能實現了前所未有的動態幾何細節水平,併為現代遊戲引擎中分層 LOD 流式方案的路徑追蹤等新演算法開啟了大門。我們很高興在所有 RTX GPU 上全面支援這次 DXR 更新。」

AMD 軟體開發副總裁 Rodney Andre:「聚類幾何和分割槽 TLAS 是 DirectX 光追生態的重要進步。透過叢集複用幾何工作、只更新場景中變化的部分,可以顯著提升流式內容、細節層次過渡、動畫和大型開放世界體驗的可擴充套件性。」

順帶一個相關事實:《戰爭機器:事變日》的 Steam 商店頁顯示,它的最低配置要求一塊支援硬體光線追蹤的顯示卡(如 RTX 2060 / RX 6600 起步)。光追正在從「加分項」變成部分遊戲的「門檻」。