[Unity優化]UWA性能診斷與優化

[Unity優化]UWA性能診斷與優化


UWA直播筆記

UWA:UWA     視頻

總體性能趨勢

1、CPU性能佔用

①項目運行過程中高於33ms的幀數佔比推薦值<10%,高於50ms的幀數佔比推薦值<5%。

2、GC調用

①調用頻率 ( 幀/次 ):GC觸發調用頻率推薦值>1000幀/次,GC觸發得越快,即項目運行時卡頓次數越多。

3、渲染模塊性能

①Drawcall 峯值:項目中Draw Call峯值推薦值<200;

②Triangle 峯值:項目運行過程中渲染的三角形面片數量的最大值(推薦值<100000)。視域體內的模型數量越多、使用的Shader越複雜,則渲染的面片數越多。

4、物理模塊性能

①CPU均值:物理引擎每幀的平均CPU耗時(推薦值<2ms,主體範圍0~3ms)。對於Unity引擎而言,其4.x版本所使用的物理引擎爲 Nvidia PhysX 2.8,報告中統計的是Physics.Simulate的CPU耗時;其5.x版本所使用的物理引擎爲 Nvidia PhysX 3.3,報告中統計的是Physics,Simulate和Physics.Processing的CPU耗時總和。

②Contacts數量峯值:項目運行過程中碰撞對(Contact Pair)數量的最大值(推薦值<20)。所謂“碰撞對”,是指當前空間中發生碰撞的物體之間的接觸點,每個“碰撞對”均連接兩個相互產生碰撞的物體。一般來說,Contacts 數量越大,則表明碰撞物體的數量越多,即物理系統的CPU開銷越大。

③靜態碰撞體峯值:項目運行過程中靜態碰撞體數量的最大值(推薦值<100)。“靜態碰撞體”是指未掛載Rigidbody組件的碰撞體。

④動態碰撞體峯值:項目運行過程中動態碰撞體數量的最大值(推薦值<100)。“動態碰撞體”是指掛載了Rigidbody組件的碰撞體。

5、動畫模塊性能

①Animator.Update CPU均值:項目運行過程中Animator.Update每幀的平均CPU時間(推薦值< 2ms;主體範圍0~3ms)。其對應的是Unity新動畫系統Mecanim。

②Animation.Update CPU均值:項目運行過程中Animation.Update每幀的平均CPU時間(推薦值< 2ms;主體範圍0~3ms)。其對應的是Unity 3.x動畫系統。

③蒙皮網格更新CPU均值:項目運行過程中MeshSkinning.Update每幀的平均CPU時間(推薦值< 2ms;主體範圍0~3ms)。

6、粒子系統性能

①ParticleSystem 更新CPU均值:項目運行過程中粒子系統更新的平均CPU耗時(推薦值< 2ms;主體範圍0~3ms)。②ParticleSystem渲染CPU均值:項目運行過程中粒子系統渲染的平均CPU耗時(推薦值< 2ms;主體範圍0~3ms)。

7、UI性能模塊(動靜分離)

①CPU 均值:UI模塊平均每幀的CPU佔用時間(推薦值< 3 ms;主體範圍 0~5 ms)。

②堆內存分配總值:UI模塊堆內存分配總體數值(推薦值< 30 MB)。堆內存分配越高,說明UI界面在製作和使用上優化空間越大。

③堆內存分配均值:UI模塊平均每幀的堆內存分配(推薦值< 2 KB)。

8、加載模塊性能

①LUP CPU峯值(ms):項目運行過程中,Loading.UpdatePreloading的CPU耗時最大值(推薦值< 1500ms)。

②RUUA CPU峯值(ms):項目運行過程中,Resources.UnloadUnusedAssets的CPU耗時最大值。除CPU峯值外,您還需要關注該函數的調用頻率(推薦值< 1000ms)。

內存管理

1、內存佔用

①總內存峯值 (MB):項目運行時Unity引擎所統計的真實物理內存分配,這裏並不包含系統緩存和第三方庫的自身分配內存(推薦值< 150 MB)。

②堆內存峯值 (MB):項目運行時 Mono 管理和分配的託管堆內存(推薦值< 40 MB)。

③GFX 內存峯值 (MB):項目運行時用於渲染的資源所佔用的內存,該值爲底層顯卡驅動所反饋的內存分配量。一般來說,該部分內存佔用主要由渲染相關的資源量所決定,包括紋理資源、Mesh資源、Shader資源以及解析這些資源的相關庫所分配的內存等(推薦值< 80 MB)

④泄露風險

2、資源使用

①內存峯值 (MB):表示紋理資源在使用過程中的內存最大量。建議結合運行截圖來判斷內存使用是否合理(推薦值< 50 MB)。

②大於1MB數量:所檢測到內存大於1MB的紋理資源數量(推薦值< 20)。

③RGBA32格式數量:所檢測到格式爲RGBA32的紋理資源數量。建議儘可能將RGBA32格式紋理轉換爲硬件支持的紋理格式,既可以降低內存的使用,又可以提升資源的加載效率(推薦值< 20)。

④RGB24格式數量:所檢測到格式爲RGB24的紋理資源數量。建議儘可能將RGB24格式紋理轉換爲硬件支持的紋理格式(推薦值< 20)。

資源管理

1、資源管理彙總

2、AssetBundle加載

3、具體AB使用情況

4、資源加載

5、資源卸載

6、資源實例化/激活

代碼效率

1、CPU時間佔用

2、堆內存分配

CPU性能

1、Overdraw功能

2、Mipmap功能

重要參數解析

1、引擎性能參數:建議將用到的Shader打成一個AssetBundle,然後在遊戲開啓時,一次性加載並常駐內存。

2、自定義變量
3、自定義代碼段

硬件參數解析

1、溫度與電量

2、網絡傳輸

3、內存設備

項目運行日誌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章