2022年6月1日 星期三

如果基準評測從客觀變主觀。

過去在「既是起點也是終點 - 光線追蹤渲染。」一文中提到,目前即時性光線追蹤渲染仍不是個非常普及的功能,還是那個講過很多次的老問題,計算量太過龐大。
 
雖然開啟光線追蹤渲染功能,可以得到更真實的視覺效果,但由於GPU性能依然不是那麼游刃有餘,會需要付出解析度、更新率雙雙降低的代價,一來一回之下實際渲染畫面品質沒有明顯提升,因此光線追蹤渲染並沒有廣受青睞。

不過既然光線追蹤渲染的效果及觀念已經深植於消費者心中,市場便出現了愈快全面普及愈好的期盼聲音,為了補救開啟光線追蹤渲染功能後,畫面解析度和更新率雙雙下降的問題,諸多計算機圖學專家紛紛開始尋求其他替代方法,以提高即時性光線追蹤渲染普及的可能。


於演算法層面,有人提出了如「體素光錐追蹤」Voxel Cone Tracing等方法,把鄰近物體的光影特性做結合或降頻採樣,以減少計算量,這部分在此先不多談。

於渲染技術層面,NVIDIA也推出了「基於深度學習的超高頻率採樣」Deep Learning Super Sampling,以下簡稱DLSS和「可變速率著色渲染」Variable Rate Shading,以下簡稱VRS等概念。

簡單解釋一下,前者原理是基於深度學習和人工智慧而建立的一種改善畫質渲染模型,透過人工智慧去反覆學習高解析度畫面的內部資訊,為低解析度畫面進行提升採樣頻率時補充合理的紋理細節。

後者則是認為畫面裏每一區塊的重要性並不等價,只在較重要的畫面區塊維持單畫素著色渲染,與之相對的如遠景、較小圖像、快速變化等容易被使用者忽視的畫面區塊,可以採用多畫素合併的方式著色渲染以節省計算量。

其實無論是否開啟光線追蹤渲染,隨著市場對畫面解析度和更新率需求的不斷攀高,GPU的性能壓力非常大,才催生出愈來愈多像DLSSVRS等在計算量和畫面品質之間做取捨的技術。

DLSS倒還罷了,不僅需要合適的人工智慧框架,還需要大量有效樣本數據幫助訓練,實現難度並不低。但VRS概念可就有趣了,其後續造成的效應可能比許多人所想像來的大。

相信很多人在粗略了解VRS後,隨即便察覺到,VRS應該不限定於只支援光線追蹤渲染才對?沒錯,實際上VRS適用於任何渲染方式,亦包含傳統光柵化渲染。因為其核心概念是在使用者未察覺畫面品質有明顯降低下,盡可能地偷取畫素層級的著色渲染計算量。

從許多測試結果來看,開啟VRS後帶來的解析度和更新率等性能提升極為可觀,至於大部分人所關心的畫面品質下降問題,確實是稍差了一點,可是不仔細看似乎也很難對那些差異有感。
 
如果開啟VRS再搭配視覺追蹤技術,甚至可以只在使用者視覺所關注的畫面區塊渲染高解析度的畫素,而其餘部分皆可以適時降低畫面品質,又再進一步降低GPU的計算量。
 
VRS無疑是個非常實用的渲染技術。
 
不過話尚未說完, VRS固然有好的一面,卻同時可能對將來GPU相關基準評測造成很大影響。
 
從事晶片設計相關工作的人,應該都對基準評測這件事不會感到陌生,其大抵作法是在固定其他變數或環境限制下,用一些測試案例去評估不同架構、不同設計的性能表現差異,基準評測在CPUGPU手機處理器晶片等高性能運算系統裏尤其常見。
 
坊間基準評測相關機制也多如牛毛,較知名者有AntutuDhrystoneGeekbenchSPEC BenchGFXBench3DMarkDXOMARK等,實在族繁不及備載。
 
那麼基準評測的結果絕對正確嗎?倒也未必。
 
嚴格來說最精確的評測,毫無疑問叫做「實際應用」,任何測試案例都會與實際應用有所差異,只是相對大小問題,正是這個差異相對大小,會決定該基準評測的參考性。
 
例如Dhrystone進行CPU內部運算能力評測時由於資料量過少,對系統環境需求顯然太過理想,且只能評測到特定簡易功能,因而常被質疑不符合實際應用時的CPU運作狀態,故以其評測結果來當做CPU整體性能優劣比較,參考性略為不足。
 
或如有「娛樂兔」諢號之稱的Antutu,許多終端產品和其搭載的處理器晶片在執行Antutu評測時,會透過白名單之類的方式放寬系統環境限制,導致溫度、功耗等負面指標相對異常,遠超過使用者在日常實際應用時所能接受的範圍,只為了在基準評測時勝過其他競爭對手,想當然爾,如此評測結果的參考性同樣可議。
 
可是無論如何,幾乎不會有人去否認透過基準評測得到的「客觀結果」,爭論點一直在評測方法的涵蓋範圍及擬真程度,與相對應得到之評測結果是否具參考性。
 
VRS的廣泛應用,很可能為GPU相關基準評測生態帶來改變,從客觀變主觀,甚至從此之後再也難以相互比較渲染性能孰優孰劣。
 
或許有人會提出疑問,3DMark不是新增了VRS與原畫面的渲染品質對比測試嗎?怎麼會難以評測呢?
 
關鍵就是「品質對比」這件事,事實上只要經過後製處理的影像畫面,其品質到底是好是壞,從來不存在一個絕對客觀標準。
 
因為這牽涉到人眼視覺對影像畫面的敏感度和接受度,不完全等同於峰值訊噪比(PSNR)等數學公式計算得到的量化數值。一般而言,評測數值太低的畫面品質通常很糟,但若評測數值有達到一定水準的話,就未必是數值較高者的畫面品質一定讓使用者感受比較好。
 
像是若甲畫面和原畫面相比,很多畫素都有些微偏差;而乙畫面和原畫面相比,絕大多數畫素都維持一致,然而有極少數畫素偏差極大。
 
論數學公式計算出來的量化數值,乙畫面確實可能比較高分,不過人眼視覺卻可能會認為乙畫面裏那些少數偏差極大的畫素所造成的整體突兀感過重,因而覺得甲畫面的品質才比較好。

在此強調一下,我絕非認為影像畫面品質完全無法評測,而是指相較於其他領域,影像處理的相關評測,存在較多主觀成分的探討。

千萬別誤會了,如此現象與近年來高性能運算系統常被提到的「性能過剩」並非同一回事。性能過剩是指在大多數輕度負載場景下,繼續追求極端高性能,對使用者體驗無甚影響,但性能有所提昇仍是不爭的事實。

而影像處理領域的相關評測,則可能發生評測分數較高,使用者體驗反而較差的反轉情況。

容我重複一次,VRS是個在計算量和畫面品質之間做取捨的著色渲染技術,開啟後或多或少會犧牲畫面品質。

故一旦VRS成為未來GPU的必備應用,那日後欲對GPU做基準評測時,除了解析度、更新率、圖像數量、紋理種類等傳統計算機圖學相關性能指標外,畫面品質的探討必定成為繞不開的議題。
 
假設甲產品的VRS策略較為激進,大幅犧牲渲染畫面品質後,成功換來較高的畫面解析度和更新率;而乙產品為了確保渲染畫面品質,VRS策略選擇較為保守,導致畫面解析度和更新率皆明顯不如甲產品。
 
那試問這種情況下,究竟該算甲產品比較好?還是乙產品比較好?又兩者各自犧牲與堅持的畫面品質是否真有影響?

萬一結果變成各說各話,淪為難以相互評比,最終只能仰賴使用者自行主觀判斷。

相信現在許多人在選購側重影像處理功能的相關產品時,已經開始陷入這般窘境了,將來GPU亦不無可能出現類似局面



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。