施主分享隨緣,評論隨心,@author:白袍小道,當苦無妨
小道暗語:
1、因為小道這里博客目錄沒自己整,暫時就用隨筆目錄結構,所以二級目錄那啥就忽略了。標題格式大致都是(原or轉) 二級目錄 (標題)
2、因為所看和以前記錄太過雜亂,所以只能手動一點點搬移(回憶,整理)。歡迎討論,知識和能力總是被問出來了不是(嘿嘿,這樣才能成長), 若有不對別噴就好哈哈。
引言:
文章四方面包括了從游戲線程、渲染線程、GPU、內存等的優化,提升游戲技術底子。
原作者:王禰,Epic Games 資深開發者技術支持,管理虛幻引擎技術支持的程序員團隊,擁有近15年虛幻引擎使用經驗。
正文:
優化肯定是有個前提和需求背景的,本文的前提:在移動設備上做大地型的多人游戲。
需求背景:
1、開放地圖:視野寬,視距遠,地圖大
2、場景:風格變化多
3、同屏人不少
4、交互也不少
(看到這里對吧,UE +上述 就直接說堡壘之夜就好了唄)
(由於篇幅較長,小道就直接拆開了,各位看官)
內存
2 |
TextureStreaming |
在cpu上根據物件bounds的屏幕尺寸×材質中用到的對應貼圖的uv scale系數×一個可以由美術tweak的scalar值來決定實際貼圖提交的mip數,可以用r.Streaming.PoolSize在不同設備上很方便設置全局的貼圖資源的內存Budget。
3 |
Shader Code |
Shader code,我們會利用Shared Shader code的功能,將大量靜態的分裂導致產生的Shader有重復的去除,將實際的Shader code存入ShaderLibrary,在每個MaterialInstance對象上只存ShaderCode的GUID,大大減小了實際的ShaderCode大小。在有些項目里可以減掉80%。另外,不使用的rendering功能一定要在項目設置中關掉,可以大大減少shader分裂的組合數量。
6.4 |
RHI |
(RHI又見面)
很多