1.什麼是DLSS

:DLSS就是大力水手。。。。(霧)

深度學習超級取樣(Deep learning super sampling,DLSS)目前最新版本是2。2,是Nvidia開發的一種影象縮放技術,可實時用於影片遊戲中,這種技術利用深度學習將較低分率的影象縮放為更高解析度的影象,以便在更高解析度的計算機顯示器上顯示。

根據NVIDIA官網的描述:NVIDIA DLSS (Deep Learning Super Sampling) is groundbreaking AI rendering technology that increases graphics performance using dedicated Tensor Core AI processors onGeForce RTX™ GPUs。 DLSS taps into the power of a deep learning neural network to boost frame rates and generate beautiful, sharp images for your games。

簡單總結為:同時提升渲染畫面精度和幀率的黑科技。而這項黑科技顯然是為了次世代的硬體和遊戲準備的,透過深度學習把畫面的渲染精度直接提升到4k,6k,甚至8k,但同時不增加太多效能消耗(AI捲到遊戲行業了)。

2.UE4怎麼安裝DLSS

在ue4 marketplace裡面可以搜到NVIDIA DLSS,注意支援的UE版本(4。26),顯示卡(NVIDIA rtx 20系列),釋出平臺(win64),RHI(dx11,dx12,VulkanRHI),還有最重要的,要更新到最新的顯示卡驅動(445。75)

UE 英偉達DLSS初探

然後點選ExternalLink,

UE 英偉達DLSS初探

勾上同意條款,下載plugin

UE 英偉達DLSS初探

推薦一個免費下載器Free Download manager

3.安裝外掛

比較簡單就不過多贅述,直接把dlss資料夾放到工程目錄下的Plugins目錄即可,

UE 英偉達DLSS初探

注意DLSS外掛和RenderDoc衝突,務必關掉衝突的外掛

UE 英偉達DLSS初探

我這邊是放到專案工程目錄下,當然放在引擎的plugin目錄下也是可以的,但是建議放在工程目錄下,因為如果改外掛程式碼的話,起碼不用編譯整個引擎。

4.設定DLSS引數

如果一切順利的話,開啟編輯器,點選viewport左上角的按鈕,會出現DLSS setting的選單。

UE 英偉達DLSS初探

一共有幾個精度級別,分別對應更高的質量和更好的效能

接下來,透過控制檯確保開啟dlss和透過控制檯設定精度:

r。NGX。Enable (1, default) 確保開啟NGX

r。NGX。DLSS。Enable (1, default) 確保開啟DLSS

r。NGX。DLSS。Quality (-1, default) DLSS 的效能和質量設定。

注意: 並非所有模式在執行時都受支援(官方文件是這麼說的,但是我試了dev打包也是可以的)

這個命令對應的藍圖節點是:

UE 英偉達DLSS初探

-2: Ultra Performance

-1: Performance (default)

0: Balanced

1: Quality

2: Ultra Quality

r。NGX。DLSS。Quality。Auto (false, default) 是否自動設定DLSS的質量

我覺得一個比較出效果的節點是:

UE 英偉達DLSS初探

由於ue4預設用的是TAA,所以免不了模糊和拖影的問題,經過簡單的測試發現,把這個值設定到0。5-0。7之間可一定程度緩解TAA模糊的問題

UE 英偉達DLSS初探

dlss sharpness=0

UE 英偉達DLSS初探

dlss sharpness=1

這裡就找了個預設場景測試了下,仔細看的話,畫面其實是變得稍微銳利了一些,這個效果在畫面運動的時候和有一些半透明材質的時候更為明顯,

5.發現的一個小問題

雖然畫面整體清晰銳利了,但是text render會變模糊,可能是因為訓練AI的時候沒考慮文字這方面?(瞎猜的)

UE 英偉達DLSS初探

DLSS off

UE 英偉達DLSS初探

DLSS on

6.效能消耗(來自NVIDIA的文件)

記憶體消耗:

UE 英偉達DLSS初探

在“Performance Mode“下的GPU消耗:

UE 英偉達DLSS初探

7.打包

官方文件關於打包的說明:The DLSS plugin ships with a ready-to-use production DLSS binary (without watermarks) and uses the project identifier to initialize NGX and DLSS。 This is the common case for distribution to end users and does not require further actions from either your or NVIDIA‘s side。 總的來說就是這個版本的外掛不用管了,能直接打包。

不知道是不是我工程的問題,打包之後提示DLSS外掛沒有被正確載入,最後找到的解決辦法是給工程添加個c++類,把工程編譯一下就可以正常打包了,

多廢話幾句

:DLSS又一次見證了英偉達在圖形領域的壟斷地位,從硬體到軟體到演算法,都是同行碾壓級別的存在,從10系列的VR Ready到RTX系列的光線追蹤和DLSS,每一次都是巨大的進步。 很多和圖形學相關的領域幾乎都離不開英偉達:遊戲行業(顯示卡,遊戲引擎中的一些模組等),影視行業(各種動力學模擬和渲染硬體加速),汽車(自動駕駛訓練),還有醫療,金融,能源等等。。。。 前有機構和高校被禁用 matlab,後有華為被禁用安卓和臺積電,當然這些軟體還有替代品,但是萬一英偉達把我們ban了,演算法工程師和我們這種搞圖形的,會不會原地失業。。。萬一autodesk和adobe再把我們ban了,平面設計師和3d動畫師等是不是可以原地回家種紅薯了,(當然盜版另說)。。

最後求一鍵三連哈哈

UE 英偉達DLSS初探