Unity性能要点参考标准

一、游戏性能总体趋势:

       1、CPU:主要看帧数,如果多数帧在预期中可忽略,对于重点卡帧的点进行优化

       2、内存:

            2.1、Reserved Memory:总体内存,对于低端机总体内存尽量控制在150M以内

            2.2、Reserved Mon Memory:堆内存,建议控制在40M以内

                   对于堆内存较高的可以检测是都具有较大的Container、Array、List、Dictionary等容器存在,比如缓冲池,控制其开辟的大小

二、游戏加载性能模块

       1、资源加载

            主要是场景切换时对象的创建和销毁,对于纹理可将其由RGBA32和RGBA16转换为ETC1进行加载即可以降低App和内存的大小又可以提高加载速度,进而提高切换场景

            的速度,场景中的网格数据可以进一步压缩减少不必要的数据占用。

       2、UI资源

            将UI资源更具不同的机型性能进行UI资源缓存,或是是销毁策略,如最近最少访问次数

       3、Instantiate实例化

            用缓存池来进行缓存减少频繁使用对象的创建次数

       4、Shader

            可以将Shader统一分离打包成AssetBundle,在游戏开始时加载进来,由于Shader体积较小,可以考虑常驻内存

三、渲染模块性能

       可以使用AssetStore中的SimpleLOD和MeshBaker对场景网格数据进行进一步优化

四、UI性能优化(后续会单独讲解)

       Unity性能要点参考标准_第1张图片

五、物理系统测试

       主要是Rigidbody数量和Collider数量,Physics.Simulate和Physics.Processing的CPU开销

六、游戏性能发布指标

       1、Optimize Mesh Data,在游戏发布时引擎会自动将多余的网格数据过滤掉,要慎重使用

       2、SerializedFile,通过异步加载(LoadFromCache、WWW等)的时候留下的序列化文件,可监视是否被卸载

       3、ShaderLab,建议去掉Standard Shader

七、资源使用测试

       1、纹理资源使用

            1.1、纹理内存低端机建议控制在50M以内,推荐使用格式Android:ETC1,iOS:PVRTC

            1.2、纹理的Mipmap建议关闭

             1.3、资源的重复打包

        2、Mesh资源使用

        3、Shader

        4、Animation Clip

        5、Audio Clip

        6、Material

        7、RenderTexture

        8、Font

八、代码的CPU占用

       1、Camera.Render

            1.1、Graphics.PresentAndSync

            1.2、蒙皮网格 MeshSkinning

            1.3、粒子系统

            1.4、物体的透明和半透明渲染,尽量降低drawcall以及场景渲染压力

      2、MonoBehaviour.Update

      3、Animator.Update & MeshSkinning.Update 建议关闭GPU Skinning

你可能感兴趣的:(性能分析)