經濟學中關於該門學科有一段表述:社會中所有的財富和資源總是有限的,而消費群體的欲望總是無限的,為了儘可能的將最合理、最迫切的資源最有效率地分配給所有的人群,經濟學孕育而生,因為它本質上是關於 資源有效率的配置的科學,稀缺性是它存在的原因,效率則是它存在的意義。雖然沒有什麼交集,但是對於我們每天都要進行的遊戲而言,機器的運算力和我們的感官欲望也是這樣的一對矛盾:在有限的運算力下,對應的是無限的 感官欲望,這時我們需要將有限的機能最合理的分配給不同的特效,在畫面質量和體驗、幀率中取得一個最科學的平衡。
由風格一向硬核的id Software開發的Doom在選項上十分複雜
和家用主機(Console)不同,PC遊戲面對的是以千萬計的玩家,雖然技術上我們一直鼓勵更多、更特別的遊戲畫面選項,因為這不僅是圖形技術最好的利用之一,同時也可以反哺圖形技術的發展。然而考慮到玩家群體幾乎海量的硬體情況,想要獲得和家用主機一樣穩定的開發環境是不可能的,不僅開發團隊需要耐心的為儘可能多的設備優化,玩家也需要對主要的畫面選項及其原理有大致的了解,這樣才能有助於自己的遊戲體驗,因此遊戲過程中幀數不加的讀者可以根據實際配置適當優化畫面選項。
從特性(Features)上分類,我們的畫面選項可以分為功能性(Functional)、材質紋理(Tressure)、光影效果(Lightings)、建模(Models),以及其他更具體的特性。首先解釋一下如此分類的依據:功能性一般為最基礎的選項,包括垂直同步開關、輸出屏幕比率(16:9)、抗鋸齒(AA)方案、等等, 它們起到的是一般的功能性作用。材質紋理為最基礎、最常見的選項之一,包括材質效果、紋理效果、貼圖精度、植被效果、地表效果等等,幾乎可以覆蓋所有以解析度為單位的目標,我們常說的「全高畫質」、「最高特效」中的「高」對應的也是這一類。光影效果可能是最為複雜多變的類別之一, 從環境光遮蔽、體積光、陰影、軟陰影、硬陰影、鏡頭光暈等等,多樣化而複雜化的光影效果都是為了提供更逼真的光效。
簡單暴力、土豪隨意:超級採樣抗鋸齒(Super Sampling Anti-Aliasing)
我們首先從抗鋸齒技術開始說起,之所以會產生鋸齒是因為3D圖形繪製過程中像素定位引起的,而抗鋸齒原理本身就是在某個像素的周圍採樣若干次,讓某一個像素擁有周圍其他幾個像素的信息,因此看起來仿佛變得圓潤流暢了,但是如何在消除鋸齒的同時又避免圖形變得模糊就相當考驗開發人員的算法水平了。
作為性能敏感名單的頭名,超級採樣並不是一個性能黑洞,正相反它可以提供相當好的抗鋸齒效果,只不過超級採樣抗鋸齒在原理上相當的直接暴力:直接將圖形按照數倍於屏幕解析度的規格 再選取2-4個採樣然後再壓縮為原始解析度壓縮至顯存中,也就是放大-採樣-模糊-壓縮-輸出的過程。再實際遊戲中,你以為你看到的是人畜無害的1920*1080解析度,但是 在背後人家卻以4K的規格渲染採樣,顯卡的工作量也很容易成倍數的上升,這樣一來 雖然鋸齒被消除的很乾脆,但同時資源耗用呈直線上升,原理上NVIDIA的動態超級解析度(Dynamic Super Resolution)和AMD的VSR(Virtual Super Relolution)也是如此。
Native 1080P
4K With DSR
我們使用《古墓麗影:崛起》內置的Benchmark功能在1080P解析度、DX12下進行對於超級採樣抗鋸齒性能測試,為了消除幹擾性選項的影響,我們首先將抗鋸齒方案、真實毛髮效果、環境遮蔽光方案全部關係,僅僅保留抗鋸齒作為變量,同時為了真實體現性能影響,我們將Benchmark三個場景的幀數全部記錄,而不僅僅對比最後平均幀數。
關於測試平臺,這次選用的是稍稍年邁一些的B75平臺,Intel Ivy Bridge架構E3-1230V2處理器,8GB內存,索泰GTX 1060 AMP! Edition顯卡。
在上述選項全部關閉的條件下,三個場景的幀數分別為103.29、75.92、54.87幀,平均幀數為78.02幀,這時的幀數體驗已經很完美。開啟SSAA 2X之後,三個場景的幀數暴跌至69.52、38.07、42.52,平均幀數為50.07,而更進一步開啟SSAA 4X之後,三個場景的幀數分別為50.81、28.36、16.85,平均幀數為32.07。
多重採樣抗鋸齒(Multi Sampling Anti Aliasing)
從原理上說多重採樣抗鋸齒是超級採樣抗鋸齒的一個衍生品,所不同的是它僅僅對畫面中的Z緩存和模板緩存進行高倍採樣,換句話說只對畫面中的物體邊緣進行抗鋸齒,但往往鋸齒都出現在物體的邊緣而非內部,因此多重採樣抗鋸齒也可以說是一種討巧的算法,但原理本身依然是畫質至上的產物,因此對於性能依然有較大的影響。
真實毛髮效果
自從2013年的《古墓麗影9》以來加入TressFX技術、《使命召喚:幽靈》加入HairWorks技術以來,更為真實的毛髮技術開始為我們熟知,這些技術大多利用計算能力強大的GPU生成大量真實獨立的毛髮,但是這背後的計算量也相當驚人。
我們使用《巫師3:狂獵》和《古墓麗影:崛起》測試真實毛髮效果對於幀數的影響,雖然都是一種技術,但是在前者中被稱為HairWorks,也是我們最為熟悉的名稱,而在後者遊戲選項中被稱為PireHair。我們先選用後者的Benchmark參與測試,大家可以參見下方的圖表,紅色數據為關閉一切選項,藍色為開啟毛髮選項。大家可以重點看到第三個場景,也就是野外場景的幀數下降十分明顯。
我們再來看看《巫師3》中HairWorks性能敏感程度,我們選取室外和城鎮中心街道兩處場景,每處場景幀數毛髮技術開啟與否各測試兩遍。在農田中關閉毛髮技術之後幀數為平均幀為70.912、67.425幀,而開啟之後幀數降至56.895、54.025幀。回到城鎮中,關閉毛髮技術幀數為75.011、68.291幀,而開啟之後幀數為55.463、52.658幀。
環境光遮蔽(Ambient Occlusion)
顧名思義,環境光遮蔽解決的是光影問題,具體來說是光線在多次反射、漫反射之後的路徑和投影情況,因此可以大幅度增強複雜環境下的光影立體感,層次感,否則平面內的光影缺乏變化和過渡,看上去蒼白而空洞。光線的路徑和反射需求的是龐大的計算量,甚至是樹葉和草木都需要計算光線的陰影和反射,真實的光影背後是沉重的性能消耗。
環境光遮蔽效果示意圖,大家可以看到平面相交處的陰影層次感
HBAO Off
HBAO On
HBAO Off
HBAO On
我們利用《全境封鎖》自帶的Benchmark功能進行測試,環境遮蔽光、粒子效果、粒子霧化、隨風飄舞等效果全部關閉,可以跑出72.9幀的幀數,但是將環境遮蔽光選項開至HBAO 後幀數下降至66.1幀。
粒子系統(Particle Effect)
粒子系統在遊戲中往往以煙霧、火焰、體積光、雪花等形式存在,它們不僅僅需要以相當大的數量體現,同時往往需要風或者其他物體互動,比如全境封鎖中的雪花粒子會隨風飄動、煙霧不僅會根據周圍走過的特工的動作而飄動,甚至可以體現光線穿透煙霧的真實粒子效果,如同我們熟知的丁達爾效應。
這一類選項我們依舊選用《全境封鎖》測量,將粒子效果和粒子霧化水平開至最高,便開啟隨風飄舞效果,幀數跌落60幀,只有58.5幀。
草木、植被系統(Grass Vagatation)
草木和植被同樣是一個計算量上頗為尷尬的問題:如果它們的數量太小太零星或者太重複則視覺難以滿足感觀的要求,這方面可以參考《巫師3:狂獵》,雖然後者是一款頗為難得的遊戲,但是草木卻缺乏立體感和多樣性,因此經常和紙片一樣飄動。而如果你在植被上花了太多功夫,使用非常精細的建模,就算美工的人力沒有問題,運算量也會讓顯卡捉襟見肘,如果各位在玩《上古捲軸5:天際》的時候使用過瘋狂的植被Mod,就會體驗到對於幀數和顯存的雙重折磨,原理上說我們熟知的毛髮技術,也就是TressFX、Hairworks為何對於幀數影響也有這方面的原因。
雖然《巫師3:狂獵》畫面素質一騎絕塵,但是植被的單調仍然比較遺憾
在《上古捲軸5:天際》的植被Mod中,幀數常常暴跌
繪製距離(Draw Distance)
又是一個顧名思義的選項,繪製距離這個選項在早期的《俠盜獵車手:聖安地列斯》起到了十分明顯的影響,在Xbox 360/PlayStation 3世代又讓《武裝突襲》系列成為了硬體殺手。繪製距離可怕的地方在於它可以直接將需要計算的單位數量提高几個層次,瞬間給予CPU/GPU極大的壓力和殺傷,相信曾把《武裝突襲2》的繪製距離開至最高的玩家應該深有體會。
如果渲染距離不夠遠,玩家是看不到中央CBD的高樓的
《武裝突襲》系列對於繪製距離這一點演繹的很到位
就算半徑沒有增加很多,繪製面積依然可能大爆炸般的提高,單位也隨之提高
這一類選項最好也是最適宜的測試項目就是《武裝突襲》系列了和《俠盜獵車手5》這類沙盤遊戲了。我們首先選取《武裝突襲2:箭頭行動》進行測試,該作的可見度可在500單位至10000單位之間進行滑塊調節,我們可以發現最低和最高之間差異簡直天差地別,500單位距離下遠處幾乎全部是海市蜃樓,而最高10000單位距離下遠處的山體一個不剩全部渲染了出來。我們選取了視野中一塊較高的山頭,在山頂上奔跑15秒記錄過程中的幀數,選取了最高1000單位距離、5000單位距離、默認1600單位距離和最低500單位距離 。
500單位渲染距離,沙塵暴和海市蜃樓組合既視感
默認1600單位距離,相比之下細節好了很多
10000單位渲染距離,遠處的山體細節更加清晰
渲染距離對於幀數的影響就像心跳對生命的影響一般,在四種單位渲染距離下平均幀數依次只有39.801、94.463、214.407、287.111幀,足以見得渲染距離對於性能和幀數的影響。
同時我們還可以利用《俠盜獵車手5》的自帶Benchmark進行測試,我們在設置中將渲染距離和陰影距離在最高和最低環境通過Benchmark場景測試,具體成績大家可以參考下方的幀數對比圖,五個場景的成績用五種顏色被標註了出來,需要特別提醒大家的是最後一個場景,也就紅色場景的時長遠遠超過其他的四個場景,因此第五個場景的成績最有價值。
解析度比率(Resolution Scale)
從原理上說Resolution Scale和超級採樣抗鋸齒有相似之處,都是將超倍數的像素渲染之後壓縮輸出,也就是1080P的屏幕輸出壓縮之後的4K畫面,所不同的是前者往往採用百分比的形式表示,而後者採用倍數的形式表示。解析度比率這一選項在大家熟知的《戰地4》、《榮譽勳章:戰士》和《戰地1》中都有出現,當你提高百分比的時候你的顯卡就在如同界王拳的強度下工作,因此幀數暴降也是必然的。
所有的Ultra、Max質量選項
這一項泛指所有遊戲的最高檔畫面設置,為什麼要一棒子打死所有的遊戲?原因在於就畫質(Quality)和幀數(Preformance)這對矛盾的對比中,最高檔選項的性價比往往是最低的。如果你將貼圖質量每一檔選項下的貼圖進行橫向對比會發現從畫質上最高一檔比倒數第二檔往往提升並不明顯,但是幀數卻下滑的相對嚴重,因此從性價比上說玩家選擇倒數第二檔的Very High往往是更實惠的選擇。
總結:大家要對原理學習一個
從上面的例子中我們可以看出,之所以很多選項會讓幀數受到較大的影響,關鍵就是原理上他們需要相當大的計算量,而這些特效往往都是比較奢侈路線的,不過大家都理解市場規律,有針對高端玩家的玩物出現都往往在日後會出現針對主流玩家的妥協方案上市,比我們熟悉的後處理(Post-Processing)抗鋸齒 ,也就是FXAA、SMAA此類,相比計算量較大的超級採樣抗鋸齒和多重採樣抗鋸齒,後處理抗鋸齒的特點在於處理速度快得多,性能損耗也小得多,雖然不可避免得會導致畫面模糊問題,但是微不足道的模糊相對於幀數已經是難以察覺的幸福了。因此大家看到一個陌生的選項應該收集一些原理上的成因,再尋找一些原理上的替代物,這樣才能在畫面質量和幀數上獲得一個不錯的平衡。