英偉達詳細介紹可變速超級採樣VRSS,大大提升VR體驗

映維網 發佈 2020-01-28T10:27:21+00:00

為了進一步提升圖像清晰度,英偉達在CES2020大會期間發布了「可變速率超級採樣功能。日前,英偉達資深軟體工程師DeepChand Palswamy和資深系統軟體工程師Swaroop Bhonde撰文對其進行了介紹,下面是映維網的具體整理:可變速率超級採樣擴展了圖靈架構的可變速率

查看引用/信息源請點擊:nvidia

以更少的處理能力在注視點區域提供更高的清晰度。

映維網 2020年01月28日)虛擬現實行業正在迎來新一輪的硬體疊代,更高解析度的頭顯和更優性能的光學組建成為了廠商的重要關注點。軟體方面同樣出現了類似的情況,一波強調流暢VR體驗的應用正在湧向終端消費者。

利用圖靈架構,英偉達顯卡能夠以原生解析度提供VR體驗所需的性能。為了進一步提升圖像清晰度,英偉達在CES 2020大會期間發布了「可變速率超級採樣(Variable Rate Supersamplin;VRSS)功能。

日前,英偉達資深軟體工程師DeepChand Palswamy和資深系統軟體工程師Swaroop Bhonde撰文對其進行了介紹,下面是映維網的具體整理:

可變速率超級採樣(VRSS)擴展了圖靈架構的可變速率著色(Variable Rate Shading;VRS)功能,它可以通過執行選擇性超級採樣來改善圖像質量。VRSS僅在GPU周期可用時開啟,但你可以選擇地進行啟用。無需應用開發者集成,這項功能可完全在英偉達顯示驅動中處理。

1. 背景

1.1 超級採樣

SSAA(超級採樣抗鋸齒)是一種早期的抗鋸齒方式。具體來說,先把圖像映射到緩存並把它放大,再用超級採樣對放大後的圖像像素進行採樣,一般選取2個或4個鄰近像素,然後將採樣混合起來,生成最終像素,令每個像素擁有鄰近像素的特徵,從而致使圖形邊緣的過渡趨於平滑。最後再把最終像素恢復至原來大小的圖像,保存到幀緩存,並輸出到顯示器。

MSAA(多重採樣抗鋸齒)主要是通過專用的多重採樣緩衝區(渲染目標)來實現。緩衝區的可用配置為2倍,4倍,8倍。MSAA發生在管道的光柵化階段。你可以理解成是一種特殊的SSAA。MSAA只對Z緩存(Z-Buffer)和模板緩存(Stencil Buffer)中的數據進行超級採樣抗鋸齒的處理,亦即只對多邊形的邊緣進行抗鋸齒處理。相比於對畫面所有數據進行處理的SSAA。

儘管SSAA有利於提升視覺質量,但它存在自身的局限性:

  1. SSAA是性能密集型功能:像素負載與樣本數量成線性比例
  2. 難以精細控制著色率:無法對4x MSAA緩衝區執行2x超級採樣,同時無法根據渲染區域或任何其他條件選擇性地對對象進行著色。

圖1:MSAA和SSAA的像素著色器執行。MSAA為覆蓋樣本執行一次像素著色器並共享數值,SSAA為所有樣本執行像素著色器。

1.1.1 MSAA和SSAA的示例

圖2將每個像素顯示為一個正方形,點表示一個像素內的樣本位置。

在運行像素著色器之前,硬體會生成一個「覆蓋遮罩」。它存儲當前三角形所覆蓋及未覆蓋的樣本。

在方框1中,覆蓋所有4個樣本。在方框2中,覆蓋3個樣本。

MSAA超級採樣像素著色器為中心的像素執行一次,僅生成一個著色並將其複製到「覆蓋」樣本中。像素著色器為每個採樣位置的樣本執行一次,為每個覆蓋樣本生成唯一的著色。方框1:所有4個樣本都包含完全相同的著色,所以將它們平均會產生相同的著色;沒有質量提升方框1:所有4個樣本均包含唯一的著色。所以,將它們平均會產生更為準確的著色;提升質量+內部抗鋸齒方框2:3個樣本包含完全相同的著色,第4個樣本包含背景色,所以將它們平均會產生抗鋸齒輸出;沒有質量提升,但邊緣抗鋸齒方框2:3個樣本包含唯一的著色,第4個樣本包含背景色,所以將它們平均會產生更正確的和抗鋸齒的輸出;提升質量+邊緣抗鋸齒

1.2 超級解析度

應用可以具有用於縮放渲染解析度的動態縮放功能。這個方法涉及按比例縮放渲染目標。但這種縮放是整幀執行,甚至外圍都是以更高的解析度縮放和渲染,而VR並不真正需要這樣。更好但更複雜的解決方案是僅縮放中心區域,並按比例縮小以提高質量。

1.3 目標區域

對於VR,渲染區域可分為中心區域或外圍區域。用戶一般是把注意力集中在VR螢幕的中心區域。透鏡畸變會嚴重擠壓圖像的外圍,但用戶一般無法感知。僅在中心區域進行的任何優化都會改善最終用戶的整體體驗。

1.4 圖靈可變速率著色(VRS)

圖靈的VRS功能能夠選擇性地控制整個渲染表面的著色率。VRS可以使用以下兩種方式之一來動態改變實際像素著色期間的著色率,而不是每個像素執行一次像素著色器:

  1. 粗略著色:每個多柵格像素執行一次像素著色器,然後將相同的著色複製到像素
  2. 超級採樣:每個單柵格像素執行多次像素著色器。

VRS功通過僅對注視區域進行超級採樣來改善視覺質量。

2. 可變速率超級採樣(VRSS)

2.1 介紹

VRSS的工作原理是選擇性地對幀中心區域進行超採樣:固定注視點超級採樣。你可以使用VRS功能為渲染目標應用不同的著色率。在對中心區域進行超採樣的同時,你不會觸及外圍區域。VRSS僅在空閒GPU周期可用時進行選擇地啟動。

圖3:VRSS的示例。

根據應用程式選擇的MSAA級別,中心區域可以進行多達8倍的超級採樣。所有這一切都可以由英偉達顯示驅動處理,無需任何應用集成。

用戶可以通過NVIDIA Control(控制面板)->「Manage 3D Settings(管理3D設置)」頁面->「Program Settings(程序設置)」標籤啟用VRSS。在開啟時,你可以看到數個選項。

  1. Adaptive(自適應):將超級採樣應用於幀的中心區域。中心區域的大小取決於可用的GPU餘量
  2. Always On(始終開啟):將超級採樣應用於固定大小的中心區域。這個模式不考慮GPU餘量,並可能導致丟幀。

這項功能僅適用於滿足以下條件並接受英偉達性能分析的應用:

  1. DirectX 11 VR應用
  2. MSAA+正向渲染

2.2 幕後

VRSS不需要任何開發者集成,並且完全是由英偉達顯示驅動實現和處理。

英偉達顯示驅動處理多個功能板塊,包括:

  1. 幀資源跟蹤:驅動跟蹤每幀遇到的資源,並構建啟發式模型來標記可以調用VRS的情景。在配置VRS著色率時請注意MSAA級別:在圖像中心使用的超級採樣因子。提供用於配置VRS遮罩的渲染目標參數。
  2. 幀渲染監視:這涉及測量跨幀的渲染負載,應用程式的當前幀速率,基於頭顯刷新率的目標幀速率等。這反過來會計算VRSS自適應模式所需的渲染統計信息。
  3. 可變速率超級採樣支持:如前所述,VRS允許你能整個渲染表面配置著色率。這是通過著色率遮罩和著色率查找表完成。有關所述技術的詳細信息,請參見Turing Variable Rate Shading in VRWorks頁面。VRS架構設置:處理VRS遮罩和VRS著色率查找表的配置。VRS框架根據性能統計信息配置,如下所示:3.1:VRS遮罩:中心區域遮罩的大小與餘量可用性成比例配置3.2:根據檢測到的MSAA緩衝區採樣數配置VRS著色率

圖4:VRS的幀周期表格

3.3 VRSS模式

  1. Adaptive(自適應):自適應模式將考慮性能限制,它會嘗試最大化超級採樣區域,同時不影響VR體驗。在這裡,中心區域的大小與可用的GPU餘量成比例增大/縮小。

圖5:自適應模式的中心區域動態變化。綠色遮罩描繪了超採樣區域。 基於GPU負載(場景複雜度),超採樣區域會縮小並增長。

  1. Always On(始終開啟):這個模式始終對固定注視點中心區域進行超級採樣,從而最大程度地提高圖像質量。中心區域的大小足以覆蓋中心的用戶視場。它可以幫助用戶感知最大的質量增益。但是,這可能會導致性能密集型應用出現丟幀情況。

4. 開發者指南

這項功能面向接受英偉達性能分析的應用,而你可以將遊戲和應用提交給英偉達審核。

VRSS的優勢包括:

  1. 無需集成:不需要顯式VRS API集成。完全封裝在英偉達顯示驅動之中。
  2. 易用:可通過簡單的開關(利用英偉達控制面板)打開/關閉超級採樣。
  3. 質量提升:超級採樣可提供最高的渲染質量,並儘可能減輕鋸齒。
  4. 性能模式:自適應模式嘗試在不減損性能的情況下提高圖像質量。
  5. 無需維護:因為整個技術是由驅動處理,所以無需開發者進行維護

對VRSS應用程式進行性能分析的標準如下:

  1. DirectX 11 VR應用
  2. MSAA+正向渲染:超級採樣需要使用MSAA緩衝區,所以它兼容使用MSAA的應用。所應用的超級採樣因子級別基於MSAA緩衝區中使用的基礎樣本數量。對於MSAA-2倍,中心區域著色2倍;對於MSAA-4倍,著色4倍。MSAA級別越高,超級採樣效果越強。

MSAA是一種與正向渲染相關的熱門抗鋸齒技術,非常適合VR。諸如Unreal和Unity之類的遊戲引擎都支持在VR中進行正向渲染。如果已經啟用正向渲染,則添加MSAA支持會相對容易。

受益於超級採樣的內容同樣會受益於VRSS。超級採樣不僅可以減輕鋸齒現象,而且可以顯示圖像中的細節。但需要注意的是,質量提高的程度因內容而異。

圖6:受益於VRSS的示例。

遇到以下類型的內容時,超級採樣的效果將會非常明顯:

  1. 高解析度紋理
  2. 高頻內容
  3. 具有Alpha通道的紋理,如柵欄,樹葉,菜單圖標和文本等。

但下面情況則沒有太大的質量提升:

  1. 平面陰影幾何
  2. 低細節層次的紋理

5. 已兼容的遊戲和應用

VRS技術已經作為顯式編程API提供,並提供用於應用集成的精細控制。開發者同時可以利用VRS進行透鏡匹配著色(lens matched shading),內容自適應著色,注視追蹤著色等。

VRSS開箱即用,無需為基於DirectX 11 MSAA的應用進行任何應用集成。

下面24款遊戲已通過英偉達驅動441.87支持VRSS。

---原文連結:https://yivian.com/news/71366.html

關鍵字: