AI 技術的加速魔法 NVIDIA DLSS 技術解構

AI 技術的加速魔法 NVIDIA DLSS 技術解構

隨著 GeForce RTX 的登場,NVIDIA 一連為用家帶來兩大絕技 — Real Time Ray Tracing 實時光線追蹤及 DLSS 深度學習反鋸齒功能;前者已於去年年底隨《Battlefield V》登場,後者比較含糊,直到今年 2 月 4 日才被《3D Mark》納入為 Feature Test;遊戲的支援緊隨其後,《Battlefield V》在 2 月 13 日的更新中追加支援,另外新推出的《METRO EXODUS》遊戲也同時提供 DLSS 功能。

DLSS 技術原理

NVIDIA 的研究人員表示,過去的問題是因為欠缺有效的演算方法去分析及優化圖像,所以 DLSS 的重點是學習過程,在不影響遊戲畫質的大前提下,達到加速的效果。例如在賽車遊戲中,只需細緻地顯示跑車即可,其他路邊的景物因為不是主角,可以適度降低精度,這也是 DLSS 可以加速的秘密所在。

DLSS 技術基於 NVIDIA 的神經圖像架構。

DLSS 技術基於 NVIDIA 的神經圖像架構。

至於 DLSS 如何作最佳的繪圖優化,秘密在於 NVIDIA 背後的 NeuralGraphics Framework 的超級電腦,正如 NVIDIA 在《Metro Exodus Reviewer’s Guide》指出︰「我們的超級電腦會不睡不休(Our supercomputer never sleeps)」,會持續改進效果並適時發布。NVIDIA 已搜集了過千張以極高畫質渲染的 Ground Truth 圖檔作為參考之用,提供在現實世界難以提供的 64×Super Sampling 反鋸齒取樣的超高遊戲畫質,並擁有人類的在原始像素中分辨出是狗、貓及鳥之能力。

從 NVIDIA 公布的資料推算所指以極高畫質渲染的 Ground Truth 應該是 64× 超級採樣渲染的效果。

從 NVIDIA 公布的資料推算所指以極高畫質渲染的 Ground Truth 應該是 64× 超級採樣渲染的效果。

Turing 架構為 DLSS 所作的改變

為了提供 DLSS 功能,NVIDIA 除了在 Turing 架構上改進其 CUDA 及 CuDNN Libraries 功能,也新增專門的 Tensor Cores,用於處理新增低精度的 INT4 Matrix 及 INT8 Matrix 運作,這也是 DLSS 能夠為遊戲加速的秘密,但也使 NVIDIA DLSS 變成一項非標準的功能,目前僅限於 NVIDIA RTX 系列提供。

Tensor Cores 的運算方式。

Tensor Cores 的運算方式。

DLSS 技術的限制

NVIDIA 宣稱使用 DLSS 後,最多可為《Battlefield V》遊戲帶來最多 40% 效能的增長,但也承認 DLSS 不會適用於所有場合。在《Battlefield V DLSS Reviewer’s Guide》中,NVIDIA 即表示 DLSS 對於大部分 GPU 在 Maximum Load 有用,如果本身 FPS 已經很高的話,那麼 DLSS 的加速作用會大大降低,這點是用家需要注意之處。以 2 月 13 日《Battlefield V》遊戲的更新為例,會因為顯示卡的型號、解像度而適度開放 DLSS 功能,而且開啟 DXR(即 Ray-Tracing)更是使用 DLSS 的先決條件,極不合理。

以 2 月 13 日《Battlefield V》遊戲的更新為例,會因為顯示卡的型號、解像度而適度開放 DLSS 功能。

以 2 月 13 日《Battlefield V》遊戲的更新為例,會因為顯示卡的型號、解像度而適度開放 DLSS 功能。

遇到不合適的解像度,即使已開啟 DXR 也不能使用 DLSS 功能。

遇到不合適的解像度,即使已開啟 DXR 也不能使用 DLSS 功能。

早期的 DLSS Final Fantasy XV Benchmark

為甚麼說 Ray-Tracing 與 DLSS 沒有絕對關係呢?現在先讓我們看看第一款支援 DLSS 的測試程式《Final Fantasy XV Benchmark》。《Final Fantasy XV》並未支援 Ray Tracing,所以沒有相關選項,但在 1.2 版中,可於「Custom Settings」使用 NVIDIA DLSS 功能。

《Final Fantasy XV Benchmark》在 1.2 版中支援 NVIDIA DLSS 測試。

《Final Fantasy XV Benchmark》在 1.2 版中支援 NVIDIA DLSS 測試。

3DMark NVIDIA DLSS 特性測試

應 NVIDIA 要求,3DMark 在 2 月 4 日發布用於 NVIDIA DLSS 的測試更新,可視為《3DMark Port Royal》支援 DLSS 功能的測試版本。與《3DMark Port Royal》屬於標準 Benchmark 不同,NVIDIA DLSS 屬於特性測試,不屬於 3D Mark 正常的得分。測試分為兩個部分,首先是 DLSS Off 的測試作為基準得分,其次是 DLSS On 的測試供用家比較前後之分別。

NVIDIA DLSS 特性測試可Custom設定解像度。

NVIDIA DLSS 特性測試可Custom設定解像度。

得分會分為 DLSS Off 及 DLSS On 兩個部分。

得分會分為 DLSS Off 及 DLSS On 兩個部分。

Screen Shot 2019-02-28 at 5.02.12 PM

《Battlefield V》遊戲 DLSS 更新

《Battlefield V》自 2 月 13 日開始提供 DLSS 功能的更新,在 NVIDIA Control Panel 不會出現 DLSS 項目的設定,需在遊戲的 Video 設定中進行。為了統一起見,今次測試統一採用「DRX Reflections Quality: Ultra」及「Graphics Preset for Other Settings: Ultra」之設定,測試場景設定為單人故事模式的五個不同景場。

Screen Shot 2019-02-28 at 5.03.07 PM

分析1:4K 表現較 1,080p 好

NVIDIA 表示 DLSS 對於高解像度、最大 GPU 負載時最為有效,因此筆者測試了 GeForce RTX 2080 Ti@3,840×2,160 及 GeForce RTX 2060@1,920×1,080 等顯示卡組合,以便測試其分別所在。NVIDIA 所言非虛,DLSS 在 GeForce RTX 2080Ti@4K 的效能增長較高,在要求最高的《Under No Flag-1942: North Africa》中,從 23fps 增至 44fps,相當於 91% 的增幅。比較 GeForce RTX 2060@1,080p 從 47fps 增至 63fps,增長幅度僅為 34% 左右。

分析2:DLSS 未能彌補 Ray-Tracing 效能損失

測試的另一重點是 DLSS 是否如 NVIDIA 在 CES 2019 的 Keynote 中所說,可幾乎彌補 Ray-Tracing 功能所造成的損失。這裡的結果卻顯示,雖然 DLSS 可帶來效能的提升,但若要百分百彌補 Ray-Tracing所造成的效能損失是不可能的。

畫質比較

測試一:比較兩圖,可見 DLSS 適度降低了次要景物的細致度。

測試二:在《Under No Flag-1942: North Africa》場景中,於流水的細節中可見 DLSS On 降低了細緻度。

測試二:在《TIRAILLEUR-1944: Provence》場景中,士兵的細節度在 DLSS On 時較差,但由於土兵正高速不斷轉移中,所以對遊戲整體畫質影響不大。

有待成熟

NVIDIA DLSS 的原意是好的,但新的技術往往需要一段時間才能成熟,目前 DLSS 在遊戲的應用僅屬起步階段,而且設定限制較多,嚴格來說是個未成熟的功能。另外,本文的畫質測試是在擷取圖像後慢慢比較才能觀察到分別,在遊戲進行中基本上是難以察覺得到,這點讀者們需要注的。