UWA总体性能篇_数值标准(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34696203/article/details/89674834

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和资源数量越多,该函数的性能开销越大。

猜你喜欢

转载自blog.csdn.net/qq_34696203/article/details/89674834