游戲技術(shù)的未來?——淺談DLSS技術(shù)
2018年,隨著Nvidia的一項(xiàng)革命性技術(shù)的推出——光線追蹤。Nvidia顯卡正式拋棄了GTX的命名,開始以RTX作為命名前綴。由于光線追蹤技術(shù)占用了大量顯卡算力,就算是配備了專門用于處理光線追蹤的RT Core的RTX20系顯卡,在開啟了光線追蹤之后,幀數(shù)也會(huì)暴跌,為了應(yīng)對(duì)這種情況,Nvidia為此專門開發(fā)了DLSS 1.0(Deep Learning Super Sampling)技術(shù)。
其實(shí),RTX系列顯卡,除了配備專門用于處理光追的RT Core以外,還配備了用于處理光追降噪的Tensor Core,Tensor Core是一個(gè)專精于AI深度學(xué)習(xí)的核心,Nvidia便基于Tensor Core的AI算力,推出了深度學(xué)習(xí)超采樣(DLSS)技術(shù)。由于Tensor Core的處理壓力相對(duì)較小,Tensor Core經(jīng)常處于低負(fù)載工作中,于是基于Tensor Core的深度學(xué)習(xí)技術(shù)就變?yōu)榱丝赡?。簡單來講,DLSS技術(shù)就是給AI一個(gè)低分辨率的圖像,靠AI強(qiáng)行“腦補(bǔ)”出高分辨率的畫面內(nèi)容,降低了CUDA流處理器處理圖形的壓力。由于傳統(tǒng)的插值超分辨率算法是通過已有的像素,猜出中間像素,從而完成過渡提高了分辨率。比如說,現(xiàn)在已知有黑白兩個(gè)像素信息,那么在中間插入一個(gè)灰色像素就可以完成圖像過渡,進(jìn)而提高分辨率。但是,這種算法的缺點(diǎn)也顯而易見,因?yàn)楹诎紫袼刂g,也可能是個(gè)藍(lán)色,甚至于紅色像素。對(duì)于這種情況,傳統(tǒng)插值就無能為力了。這時(shí),就需要DLSS 1.0技術(shù)來救場(chǎng)了,比如說,我說“大象”,基本上所有人的腦內(nèi)都能出現(xiàn)一頭大象的模糊形象,這個(gè)過程,就類似于我們今天要談的DLSS 1.0技術(shù)。DLSS 1.0技術(shù)是一種使用低分辨率圖像由AI“猜”出高分辨率圖像的技術(shù),是一種AI匹配算法。所謂的匹配,就是利用Tensor Core的深度學(xué)習(xí)能力,讓AI看很多很多1080P的游戲畫面,和8K超清的游戲畫面,讓AI自己對(duì)比統(tǒng)計(jì),最終強(qiáng)行得到一個(gè)規(guī)律:1080p和8K的畫面有什么區(qū)別,這種畫面情況下,兩個(gè)像素之間最有可能是什么像素,從而完成插值。DLSS本身是幾乎實(shí)時(shí)的,但是訓(xùn)練是要耗費(fèi)很大計(jì)算力的。聽上去DLSS 1.0技術(shù)是一種完美調(diào)和了畫質(zhì)與性能這對(duì)魚與熊掌——在減小GPU渲染壓力的同時(shí),還解放了一部分用于抗鋸齒運(yùn)算的CUDA流處理器,進(jìn)一步加強(qiáng)了顯卡的圖形運(yùn)算能力。但是,您從上面的描述中也可能會(huì)發(fā)現(xiàn),DLSS 1.0是要強(qiáng)行讓AI自己在大量的訓(xùn)練中,從沒有規(guī)律中自己強(qiáng)行總結(jié)出規(guī)律,這種情況下,總結(jié)出的規(guī)律,可能大部分時(shí)間中是適用的,但是在游戲的畫面的渲染中,畫面變化極快,渲染速度可能是每秒幾十、幾百幀。這時(shí)候DLSS 1.0就會(huì)出現(xiàn)大量“猜錯(cuò)”的情況,直接導(dǎo)致畫面劣化,動(dòng)態(tài)畫面出現(xiàn)大量偽影。而且,由于需要大量的游戲畫面進(jìn)行訓(xùn)練,而各家的游戲畫面風(fēng)格千奇百怪,這就需要各家游戲制作方根據(jù)自己的游戲情況單獨(dú)訓(xùn)練,使得推廣極其麻煩。
為了解決這些問題,Nvidia在2020年發(fā)布了全新的技術(shù)——DLSS 2.0。之所以說DLSS 2.0是全新的技術(shù),是因?yàn)殡m然DLSS 1.0與DLSS 2.0單從名字上看是簡單的升級(jí)迭代,但是,DLSS 2.0所運(yùn)用的技術(shù),與DLSS 1.0則完全不同。非要說相同點(diǎn),那就是二者都運(yùn)用了AI深度學(xué)習(xí)技術(shù),但是實(shí)現(xiàn)原理完全不同。與DLSS 1.0不同,DLSS 2.0不再依靠低分辨率圖像,AI腦補(bǔ)出高分辨率,而是采用了類似于計(jì)算攝影中的多幀合成采樣的方式實(shí)現(xiàn)。
Nvidia把一個(gè)畫面分成ABCD若干區(qū)域,在第一幀渲染的時(shí)候只對(duì)AB區(qū)域采樣,第二幀渲染的時(shí)候只對(duì)CD采樣,之后再將這兩幀的采集內(nèi)容合并,就輸出一個(gè)正常畫面(實(shí)際的算法肯定比這個(gè)復(fù)雜得多,這里只是舉一個(gè)例子)。通過這種方式,就能只采樣目標(biāo)分辨率的1/2甚至于1/4的實(shí)際分辨率,就能獲得一個(gè)接近目標(biāo)分辨率的畫面表現(xiàn)。從而實(shí)現(xiàn)在畫面質(zhì)量損失很低情況下,獲得一個(gè)巨大的幀數(shù)提升。DLSS 2.0也有它的問題,這種采樣方式,在處理靜態(tài)圖片的時(shí)候,提升很大,甚至由于多次采樣,DLSS 2.0開啟后的圖像質(zhì)量比原生的圖像還要高。但是,一旦畫面動(dòng)起來,由于分別采樣,像素就很有可
注意圖中幀數(shù)的提升
能發(fā)生錯(cuò)位,從而出現(xiàn)大量鬼影,傳統(tǒng)的TAA抗鋸齒算法就是為了解決這個(gè)問題,而在DLSS 2.0 中,Nvidia對(duì)TAA算法做出了改進(jìn),融合進(jìn)了DLSS 2.0中。在傳統(tǒng)的TAA算法中,對(duì)于偽像的消除,是采用人工調(diào)試的方法,而DLSS 2.0之中則換成了AI實(shí)時(shí)演算,大大提升了多幀合成的質(zhì)量。所以,在DLSS 2.0中,每一個(gè)像素都是真實(shí)存在的,沒有AI“猜”的成分。因此DLSS 2.0在呈現(xiàn)靜態(tài)畫面時(shí),甚至比原生畫面還要清晰,雖然,一旦畫面動(dòng)起來還是有一定的質(zhì)量劣化現(xiàn)象,但是,能在保證一定的畫面質(zhì)量的前提下,大幅節(jié)約顯卡算力已經(jīng)非常令人滿意了。
回到本文題目的疑問:DLSS技術(shù)是不是游戲技術(shù)的未來呢?筆者認(rèn)為,在一定程度上來說,是的。雖然它現(xiàn)在還有許多的問題,比如,在低分辨率下(2K分辨率以下)畫面劣化還是有一些嚴(yán)重,在鬼影消除方面依舊有一些瑕疵。但是在可以預(yù)先的未來,隨著2K及以上分辨率顯示器的普及,以及顯卡算力升級(jí)逐漸放緩,多從軟件算法上找出路的確是一條可以行得通的道路。同時(shí),這也是一些入門級(jí)甜品卡用戶,想用低成本享受接近旗艦級(jí)顯卡體驗(yàn)的一條可行的方法。
自1968年,首次提出用于渲染的光線投射算法以來,人們一直致力于在虛擬世界中還原一個(gè)真實(shí)的世界。1972年,第一家使用光線追蹤的商業(yè)動(dòng)畫公司成立。隨著Nvidia發(fā)布RTX系列顯卡以來,早已廣泛用于電影和電視節(jié)目制作的光線追蹤技術(shù)第一次走入了PC之中,面對(duì)隨之而來暴漲的計(jì)算量,DLSS技術(shù)應(yīng)運(yùn)而生,從最初滿是瑕疵的DLSS 1.0,到如今已經(jīng)差強(qiáng)人意的DLSS 2.3,我們從中窺探到了一條圖形渲染的全新賽道,無論這條路的終點(diǎn)是不是未來,但是走在這條路上的每一個(gè)工程師,都是值得我們肯定的開拓者。
評(píng)論