《戰地5》首發落地了NVIDIA RTX光線追蹤技術,各種測試紛紛出爐,整體看起來NVIDIA的光線追蹤首戰並不是很令人滿意,似乎沒有宣傳的那麼美好。到底為什麼呢?
今天要來談談的是大家都很熟悉的Eurogamer,他們雖然文章看起來總是很長,但是內容還是蠻詳實的,而且他們的版面圖片瀏覽應該是有特別的程式碼,觀察效果對比很方便。
他們之前在測試《戰地V》光線追蹤效能的時候有談到很多細節,比如說效能部分,我們都知道盡管現在能跑光線追蹤的顯示卡就三款:RTX 2070、RTX 2080、RTX 2080 Ti,但很明顯他們還有效能最佳化的空間,這方面Eurogamer在最近的文章中有談到很多,而且還邀請來自EA DICE的工程師Yasin Uluda來談到很多效能最佳化的問題。
比如說在這次的這篇文章當中,Eurogamer就提到在很多時候,遊戲因為各種錯誤會渲染出遠遠比實際需要的多得多的光線,再加上其他的問題,所以會對效能有較大的負面作用。
比如說包圍盒(Bounding Box)錯誤而造成的效能流失,或是因為可破壞地形的渲染,或者是特定位置營造的假的上帝光(God Rays)、特定型別的植被都會造成效能的不必要流失,讓遊戲渲染比實際需要的多得多的光線(Rays)。
所以在不同的地圖會有不同的表現,比如說沙地、泥土、雪地、岩石覆蓋較廣的地圖表現會稍高,但是在較為複雜的地圖,比如說我們測試的鹿特丹地圖,效能就會受到稍大的考驗。
這次跟Yasin Uluda的談話內容首先開場就是比較硬核的問題,我看原文都需要稍花些時間才能理解。首先開場的問題是,目前不用的四種光線追蹤選項:低、中、高、特高分別有哪些區別,而答案是這樣的:
Low: 0.9 smoothness cut-off and 15.0 per cent of screen resolution as maximum ray count.
Med: 0.9 smoothness cut-off and 23.3 per cent of screen resolution as maximum ray count.
High: 0.5 smoothness cut-off and 31.6 per cent of screen resolution as maximum ray count.
Ultra: 0.5 smoothness cut-off and 40.0 per cent of screen resolution as maximum ray count.
大家可以看到,四種選項最大的區別是前面的smoothness cut-off,還有後面的ray count。
喜歡研究圖形學的讀者們應該知道,圖形渲染跟現實的物理、數學是脫不開關係的,所以遊戲畫面中看到的反射畫面、光線投射的背後都是複雜的積分公式,透過它們來定義物體的表面材質,並以此來定義反射情況。
最典型的就是表現光滑程度,之所以我們以前總是會覺得虛幻引擎3會表現比較黃、比較油,就是表面的材質定義有問題。
這裡的前半句描述的smoothness cut-off就是指光滑程度,也就是用係數來描述光滑程度,0.9就是指那些比較光滑的表面,例如玻璃、鋁合金、銀,而如果有0.1的話,就應該是指岩石、水泥、石灰這些表面粗糙、很難反射的物體。
後半句則是描述解析度與光線的關係,比如說1920*1080,簡略來看就是200萬畫素,如果是1:1,或者是100%定義話,就是每畫素對應一道光線,則同屏需要200萬以上的光線,15%則就是採集螢幕解析度15%的光線。
所以簡單來說,特高畫質對應的是最繁多、最複雜的反射情況,而且需要繪製最多的光線,而反過來,低畫質則是對應最簡單、最少量的反射情況,而且需要繪製的光線最少。
但儘管如此,目前《戰地5》還是有使用不少不錯的效能最佳化技術的,比如說目前使用的Super Tiles,這是一種可以幫助實現重新指令光線的技術,這技術描述起來有點複雜,說簡單點就是利用相似的位置,能夠繪製類似的光線、三角形,對於材質快取跟指令快取都很友好,所以應該是一種減輕工作量的技術,尤其是對RT Core這種硬體級的加速核心很友好。
另外還有一些最佳化光照效能(Lighting Performance)的技術,能夠將不同的光照、立方貼圖做成類似方格座標的架構,所以非陰影光照、陰影光照、箱式立方貼圖(Box Cubemaps,我其實不知道怎麼翻譯),至於這樣有怎樣的效果沒有具體說,但最後就是會處理資訊快一些。
此外還有NVIDIA提供的“Variable Rate Ray Tracing”。
《戰地5》首發落地了NVIDIA RTX光線追蹤技術,各種測試紛紛出爐,整體看起來NVIDIA的光線追蹤首戰並不是很令人滿意,似乎沒有宣傳的那麼美好。到底為什麼呢?
今天要來談談的是大家都很熟悉的Eurogamer,他們雖然文章看起來總是很長,但是內容還是蠻詳實的,而且他們的版面圖片瀏覽應該是有特別的程式碼,觀察效果對比很方便。
他們之前在測試《戰地V》光線追蹤效能的時候有談到很多細節,比如說效能部分,我們都知道盡管現在能跑光線追蹤的顯示卡就三款:RTX 2070、RTX 2080、RTX 2080 Ti,但很明顯他們還有效能最佳化的空間,這方面Eurogamer在最近的文章中有談到很多,而且還邀請來自EA DICE的工程師Yasin Uluda來談到很多效能最佳化的問題。
比如說在這次的這篇文章當中,Eurogamer就提到在很多時候,遊戲因為各種錯誤會渲染出遠遠比實際需要的多得多的光線,再加上其他的問題,所以會對效能有較大的負面作用。
比如說包圍盒(Bounding Box)錯誤而造成的效能流失,或是因為可破壞地形的渲染,或者是特定位置營造的假的上帝光(God Rays)、特定型別的植被都會造成效能的不必要流失,讓遊戲渲染比實際需要的多得多的光線(Rays)。
所以在不同的地圖會有不同的表現,比如說沙地、泥土、雪地、岩石覆蓋較廣的地圖表現會稍高,但是在較為複雜的地圖,比如說我們測試的鹿特丹地圖,效能就會受到稍大的考驗。
這次跟Yasin Uluda的談話內容首先開場就是比較硬核的問題,我看原文都需要稍花些時間才能理解。首先開場的問題是,目前不用的四種光線追蹤選項:低、中、高、特高分別有哪些區別,而答案是這樣的:
Low: 0.9 smoothness cut-off and 15.0 per cent of screen resolution as maximum ray count.
Med: 0.9 smoothness cut-off and 23.3 per cent of screen resolution as maximum ray count.
High: 0.5 smoothness cut-off and 31.6 per cent of screen resolution as maximum ray count.
Ultra: 0.5 smoothness cut-off and 40.0 per cent of screen resolution as maximum ray count.
大家可以看到,四種選項最大的區別是前面的smoothness cut-off,還有後面的ray count。
喜歡研究圖形學的讀者們應該知道,圖形渲染跟現實的物理、數學是脫不開關係的,所以遊戲畫面中看到的反射畫面、光線投射的背後都是複雜的積分公式,透過它們來定義物體的表面材質,並以此來定義反射情況。
最典型的就是表現光滑程度,之所以我們以前總是會覺得虛幻引擎3會表現比較黃、比較油,就是表面的材質定義有問題。
這裡的前半句描述的smoothness cut-off就是指光滑程度,也就是用係數來描述光滑程度,0.9就是指那些比較光滑的表面,例如玻璃、鋁合金、銀,而如果有0.1的話,就應該是指岩石、水泥、石灰這些表面粗糙、很難反射的物體。
後半句則是描述解析度與光線的關係,比如說1920*1080,簡略來看就是200萬畫素,如果是1:1,或者是100%定義話,就是每畫素對應一道光線,則同屏需要200萬以上的光線,15%則就是採集螢幕解析度15%的光線。
所以簡單來說,特高畫質對應的是最繁多、最複雜的反射情況,而且需要繪製最多的光線,而反過來,低畫質則是對應最簡單、最少量的反射情況,而且需要繪製的光線最少。
但儘管如此,目前《戰地5》還是有使用不少不錯的效能最佳化技術的,比如說目前使用的Super Tiles,這是一種可以幫助實現重新指令光線的技術,這技術描述起來有點複雜,說簡單點就是利用相似的位置,能夠繪製類似的光線、三角形,對於材質快取跟指令快取都很友好,所以應該是一種減輕工作量的技術,尤其是對RT Core這種硬體級的加速核心很友好。
另外還有一些最佳化光照效能(Lighting Performance)的技術,能夠將不同的光照、立方貼圖做成類似方格座標的架構,所以非陰影光照、陰影光照、箱式立方貼圖(Box Cubemaps,我其實不知道怎麼翻譯),至於這樣有怎樣的效果沒有具體說,但最後就是會處理資訊快一些。
此外還有NVIDIA提供的“Variable Rate Ray Tracing”。