1、 Cpu耗时 33ms+ 占比最好低于 10%
2、内存占用 低于 150Mb
3、可以通过切换场景检测内存泄露,多发生于资源引用没有被释放
4、造成内存过大的原因:
(1)资源内存
(2)代码所占堆内存
(3)WebStream
5、Mono托管的堆内存是只升不降的,所以对于堆内存需严格控制
6、DC 低于 200 低端机可能要低于 100
7、渲染三角面 峰值 < 10W/帧
8、VBO 峰值 < 5Mb
9、频繁调用的资源应使用对象池
10、 Skin Mesh Render 手游 < 50同场景
11、Rigidbody 手游 < 50/帧
12、直接改Righdbody.velocity会增加物理运算负担,而且不能完美达到物理效果,不推荐
13、碰撞器 < 100/帧
14、纹理 内存 < 50M ,通过释放的升降一致判断泄露
15、Mesh 内存 < 20M
16、AnimationClip < 15M
17、AudioClip < 15M
18、 RenderTexture 同场景不推荐超过 10
19、重要函数Cpu 负担 超过50ms或者调用超过10次,都应该排查
20、临时分配堆内存不要超过 20B,避免不必要的堆内存分配
21、GC.Collect 会导致大卡
22、Meta文件实质:保存GUID、保存ImportSetting、保存资源引用
23、SVN更新须知:删除资源,关闭Unity,开启Unity,再导入一样的资源会导致GUID改变,而导致SVN更新不同步问题
24、切换场景 时加入空场景作为过度可以避免内存峰值过大
25、资源在真机实际内存占用大小就是Preview视窗下大小
26、避免使用TTF,内存低、或者CPU性能低,会导致,明显的卡顿和内存过大
27、编辑器模式下纹理在Profiler下内存为真机的两倍