渲染 優(yōu)化

利用reflect probe代替反射、折射,盡量不用RTT、GrabPass、RenderWithShader、CommandBuffer.Blit (BuiltinRenderTextureType.CurrentActive...)

建立統(tǒng)一后處理框架(bloom、hdr、DOF等)代替多后處理,可以共用模糊函數(shù),減少多次blit;另外要注意RTT的尺寸。

空氣折射、熱浪扭曲等使用GrabPass不是所有硬件都支持,改為RTT或者后處理來優(yōu)化。

建立統(tǒng)一shader材質(zhì)代替單一shader,充分利用shader_feature、multi_compile,并將宏開關顯示于界面。

圖像混合代替多通道紋理,陰影投射、陰影接收、MetaPass、forwardadd 等pass不需要時要剔除。

少用alpha test、discard、clip、Alpha Converage等,因為會影響Early-Z Culling、HSR的優(yōu)化。

避免Alpha Blend穿透問題(權(quán)重混合、深度剝離等透明排序方法代價太大了)。

光照貼圖代替動態(tài)陰影、盡量不用實時光;陰影貼圖、環(huán)境貼圖用16位代替32位;利用projector+rtt或者光圈代替實時陰影。

將環(huán)境參數(shù)(風、雨、太陽)等shader全局參數(shù)統(tǒng)一管理。

非主角可以用matcap代替pbr、無金屬不一定要用pbr,仔細選擇物理渲染所用的FDG(F:schlick、cook-torrance、lerp、要求不高用4次方,D:blinn-phong、beckmann、GGX、GGX Anisotropic,G:neumann、cook-torrance、Kelemen、SmithGGX;standard shader要注意選擇BRDF1-BRDF3),渲染要求不高時不用GGX;可以用LH來優(yōu)化GGX。

用fixed、half代替float,建立shader統(tǒng)一類型(fixed效率是float的4倍,half是float的2倍),小心選擇shader變量的修飾(uniform、static、全局),選擇Mobile或Unlit目錄下shader

使用高低配渲染,內(nèi)存足夠時可以考慮開啟mipmap

使用surface shader注意關掉不用的功能,比如:noshadow、noambient、novertexlights、nolightmap、nodynlightmap、nodirlightmap、nofog、nometa、noforwardadd等

standard shader的變體太多(3萬多),導致編譯時間較長,內(nèi)存占用也很驚人(接近1G),如果使用要關掉沒用的shader_feature,比如:_PARALLAXMAP、SHADOWS_SOFT、DIRLIGHTMAP_COMBINED DIRLIGHTMAP_SEPARATE、_DETAIL_MULX2、_ALPHAPREMULTIPLY_ON;另外要去掉多余的pass

shaderforge、Amplify Shader Editor生成的shader有多余代碼要程序?qū)iT優(yōu)化,Amplify Shader Editor功能更強大一些,而且開源,建議學習。

不要用unity自帶terrian,因為即使只用3張splat圖,shader也是對應4個的,建議T4M或者轉(zhuǎn)為mesh。

模型和材質(zhì)相同且數(shù)量巨大時用Instance來優(yōu)化,比如草。

利用查找紋理(LUT)來優(yōu)化復雜的光照渲染,比如:皮膚、頭發(fā)、噴漆等。

盡量不要使用Procedural Sky,計算瑞麗散射和米氏散射效率比較低。

盡量不要使用speedtree,改為模型加簡單樹葉動畫,不過SpeedTreeWind.cginc里面的動畫函數(shù)很豐富,TerrianEngine中的SmoothTriangleWave很好用。

多用調(diào)試工具檢查shader性能,常用工具有:FrameDebug、Nsight、RenderDoc 、AMD GPU ShaderAnalyzer / PVRShaderEditor、Adreno Profiler 、騰訊Cube、UWA等;另外可以內(nèi)置GM界面,比如開關陰影,批量替換shader等方便真機調(diào)試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容