1.删除组件无用周期函数
2.不要在awake,start里做重度操作 避免应用启动黑屏时间过长
3.多次修改动画控制器 参数字符串转hash码(通用于各种字符串为参数的unity api)
4.不用重力传感器时关闭它
5.移动带有刚体的游戏对象时建议使用刚体的移动函数
6.避免频繁gameobject.find游戏对象 getcomponent组件 可以缓存起来用
7.纹理设置:
纹理size做到当前平台满足效果的最小值
纹理size做到POT(size为2的幂次方)
纹理合并成图集
移除背景纹理和不透明纹理的alpha色板
不需要从底层访问纹理数据的话 关闭read/write enabled
纹理color frame能用16bit就不要用32bit
mipmaps只有随相机距离改变会改变的纹理需要
8.模型设置:
试着用最高比率的mesh压缩
关闭read/write enabled 不然内存会存储两份
关闭没有动画mesh的Rig
9.动态批处理 相同的mesh和材质 顶点数小于900
10.关闭不需要的阴影投射
11.选择光源的作用层
12.控制应用的分辨率(有些设备屏幕分辨率过高 按实际分辨率计算消耗太大)
13.canvas下的某个ui的改动会引起整个canvas的重新绘制 建议将不同更新频率的ui分在不同的canvas上
14.去除不需要交互的canvas上的graphic raycaster组件,不需要交互的ui控件上取消勾选响应检测,
15.当出现3d场景被完全遮挡时 可以关闭3d场景的相机,当整个画布被遮挡时可以关闭canvas组件
16.当展示某个静态ui的时候可以考虑降低游戏更新频率
17.音频设置:
18.静音时不要再播放音频