(轉\整)UE4游戲優化 多人大地型游戲的優化(三)GPU的優化


施主分享隨緣,評論隨心,@author:白袍小道

   

小道暗語:

1、因為小道這里博客目錄沒自己整,暫時就用隨筆目錄結構,所以二級目錄那啥就忽略了。標題格式大致都是(原or轉) 二級目錄 (標題)

   

2、因為所看和以前記錄太過雜亂,所以只能手動一點點搬移(回憶,整理)。歡迎討論,知識和能力總是被問出來了不是(嘿嘿,這樣才能成長), 若有不對別噴就好哈哈。

   

引言:

文章四方面包括了從游戲線程渲染線程GPU內存等的優化,提升游戲技術底子。

原作者:王禰,Epic Games 資深開發者技術支持,管理虛幻引擎技術支持的程序員團隊,擁有近15年虛幻引擎使用經驗。

   

正文:

優化肯定是有個前提和需求背景的,本文的前提:在移動設備上做大地型的多人游戲。

需求背景:

1、開放地圖:視野寬,視距遠,地圖大

2、場景:風格變化多

3、同屏人不少

4、交互也不少

(看到這里對吧,UE +上述 就直接說堡壘之夜就好了唄)

   

(由於篇幅較長,小道就直接拆開了,各位看官)

GPU

   

1

分辨率和顏色格式

   

渲染分辨率,我們可以逐設備的通過MobileContentScaleFactor設置BackBuffer的分辨率。我們也可以通過r.ScreenPercentage把單獨的3D的分辨率改小。改分辨率是顯而易見提升GPU的手段,因為大部分時候我們都是pixel shader bound。

   

當然,帶寬也是很大的因素,引擎還可以靈活的設置SceneColor的格式,默認HDR下我們使用FP16的RGBA,在有些項目里我們可以用r.Mobile.SceneColorFormat來調整成R11G11B10或者RGBE的方式減少帶寬的占用。

   

當然要注意,移動端有些特性一來DepthBuffer,而支持DepthStencil fetch擴展的設備並不算太多,所以引擎默認會把Depth存到SceneColor的A通道,所以采用R11G11B10這樣的格式,可能就會使得某些依賴讀回深度的feature發生問題

   

2

材質

材質節點:Quality Switch

選項:fully rough,non metal

   

材質,也就是shader復雜度,我們可以設置Quality Switch使用不同復雜度的材質針對設備做優化。也可以直接使用fully rough,non metal之類的材質優化選項。當然濫用的話會使得最終生成的shader permutation的分裂(不要都勾了啊)數量很多,需要注意一下。

   

3

Shadow

   

Shadow主要分為兩種。Modulate shadow我們已經不太適用,不過因為是單對象一個shadow volume,所以可以設置的shadow map利用率和精度比較高一些,在某些角色展示場景中可能比較有用。

   

CSM是全場景的動態shadow,非全動態光照時,移動端默認只對動態對象投射。可以通過Device Profile控制,例如可以在低端設備上沒有shadow,中等的設備上可以不做PCF filtering,好的設備上才開filtering做多次采樣。

   

4

地形

   

5

Base Pass pixel shader

   

   

Base Pass pixel shader 效果上我們做了一些改進,sky light和refleciton的計算都做了修正,Specular換成了GGX,以前GGX在半精度的情況下,NoH接近1時會有比較大誤差,我們做了一些改進。

   

另外,在MobileBasePassPixelShader中的各個模塊,項目組也可以根據需要去除不需要的,例如IBL或者lightmap或者shadowmap的部分。

    后處理,可以根據不同的設備做不同功能的開關。

   

Mask,在移動硬件上比較費的原因是因為如果寫depth時,某個像素發生clip/discard,硬件的earlyz就會失效,導致overdraw。

   

一個方案是開啟prepass畫mask,basepass做z equel;還有一個是引擎的LOD transition,在發生LOD時,不是直接換模型,會把兩個LOD模型都畫一下,通過一個dither的mask慢慢的漸變過去,這個時候可以采用類似於mask的行為,我們可以把LOD的結果dither的結果畫到Stencil,在BasePass時做stenciltest減少不必要的discard

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM