Unity性能优化

it2023-07-25  71

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.静音时不要再播放音频

 

最新回复(0)