CPU性能佔用中:
>33ms幀數佔比最好不超過10%
GC調用:
Unity引擎開發的項目中,其內存分配主要由三部分組成:程序代碼、託管堆(Managed Heap)以及本機堆(Native Heap)。其中,對於目前絕大多數基於Unity引擎開發的項目而言,其託管堆是由Mono分配和管理的。“託管” 的本意是Mono可以自動地改變堆的大小來適應你所需要的內存,並且適時地調用垃圾回收(Garbage Collection)操作來釋放已經不需要的內存。
需要注意的是,每次GC調用均會造成一定程度上的卡頓,從而降低項目運行的流暢度。如果開發人員的邏輯代碼分配堆內存過大過快的話,則GC調用的次數也會隨之增加。
調用頻率” 爲項目運行時平均多少幀會觸發一次GC操作。該值越低,則表示GC到來的越快,即項目越不流暢
渲染模塊性能:
對於 Mobile 低端移動設備來說,建議 Draw Call 數量的主要範圍在 [0,200] 區間內,Triangle 數量保持在 10萬 以下,可見蒙皮網格數量保持在 50 以下。
物理模塊性能:
Contacts 數量爲碰撞對(Contact Pair)數量。所謂“碰撞對”,是指當前空間中發生碰撞的物體之間的接觸點,每個 “碰撞對” 均連接兩個相互產生碰撞的物體。一般來說,Contacts 數量越大,則表明碰撞物體的數量越多,即物理系統的CPU開銷越大。
建議 Rigidibody數量 控制在 50 以下,碰撞體數量(靜態碰撞體和動態碰撞體) 控制在 100 以下。
粒子系統渲染耗時:
拼合粒子系統是指,引擎會將若干個材質相同且深度相同的粒子系統在渲染前進行合批(Batch),從而通過一個Draw Call來對其粒子系統進行渲染,進而降低粒子系統的渲染開銷
加載模塊性能:
Resources.UnloadUnusedAssets 是Unity引擎的主要資源卸載函數之一,也是Loading.UpdatePreloading函數中的主要耗時部分。它的主要CPU開銷在於定位哪些資源是當前項目中所不再使用的,然後將其Unload去除。項目越複雜,GameObject和資源數量越多,該函數的性能開銷越大。