Unity3D中性能优化8个提示

来源:互联网 发布:珀莱雅淘宝旗舰店真假 编辑:程序博客网 时间:2024/05/02 02:09
1 移动设备贴图
1.GUI纹理:通常不会缩小,尺寸可以是非二次方,适合RGB 16。
2.平台对应的纹理格式:PC - DXT,不支持IOS。IOS - PVRTC,Android - ETC,但不支持Alpha。
3.RGBA 16:更精确的Alpha通道。
4.可直接导入PSD文件纹理,会自动转换压缩。
5.应该总是使用Mip Maps,以较小内存消耗换取巨大性能优化。

2 渲染路径。
在PlayerSettings中选择。
移动设备应使用VertexLit。
高端适合Forward Rendering,不支持Deffered Lighting延时光照。
移动平台不支持阴影。地形Terrian仅适用高端设备,比如ipad2。

3 在Update中处理输入
不要每帧处理
在Update中每隔一段再处理
Time.frameCount % 5 == 0
定时重复处理用InvokeRepeating
InvokeRepeating("do", 0.5, 1.0);

4 缓存
如果不需要,就禁用
gameObject.active = false;

避免每次重建局部变量,改用类变量实例

5 强制垃圾收集
if(Time.frameCount % frameFreq == 0)
System.GC.Collect();

6 ragdolls会显著拖慢,提供开关选项
Skinned Mesh Renderer:
质量设为1 Bone
取消Skin Normals

三角形 < 7.5K
尽可能去掉动态光。用烘培。

7 shader
unlit 没有光,只有材质
vertexlit 性能优于像素光
specular性能代价高

8 settings
Time : Set Maximum Allowed Timestep to 0.1 保证至少10fps
编译时,设为Fast but no Exceptions
游戏半途中不要播放新的压缩的音乐。会导致卡顿。改为场景初始化时载入。