Unity优化笔记——资源优化和脚本优化

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、模型优化

1、能合并的使用网格合并,注意合并后顶点数不能太多,而且合并后体积不能太大,否则无法使用遮挡剔除。

2、使用尽量少的材质和骨骼,一般来说,角色的材质在2-3个,骨骼数量小于30个最好。

3、控制多边形数量,一般对于移动设备来说,每个网格300-1500个多边形即可,PC平台的合理范围是1500-4000。

4、不要使用MeshCollider!

5、使用LOD技术。

6、使用遮挡剔除。

7、使用动、静态批处理。


二、贴图优化

1、使用png或者tga格式的图片

2、贴图尺寸长宽小于1024,同时在保证质量的同时尽可能小。

3、建议生成Mipmap,虽然会增加一些应用程序的大小,但是在游戏运行时,系统会根据需求应用Mipmap来渲染,从而减少内存带宽。

4、检查Alpha,如果不需要使用Alpha通道,使用RGB的24位纹理来代替RGBA的32位纹理。

5、使用ECT格式的压缩。


三、UI优化

1、尽量减少UI层级的复杂度。

2、尽量不要使用透明UI,减少UI之间的覆盖关系。

3、不需要点击的UI取消Raycast Target属性。

4、动态UI和静态UI分离开来,因为Canvas上一个或多个元素变化时,会重新生成网格从而显示UI。


四、代码优化

1、减少使用SendMessage()和BroadcastMessage(),因为他们使用了反射,会造成更多的CPU开销,考虑使用事件委托代替

2、不要频繁的Find物体。

3、缓存Transform,减少对Position和rotation的修改,尝试使用localposition和localrotation代替。

4、Camera.main的问题和Find类似,可以手动管理对相机的引用。

5、矢量直接加减比矢量的分量对应相加减要慢。

6、使用for循环而不是foreach。

7、使用Array而不是List,使用下标访问元素Array要比List快一点。

8、尽量避免过多使用Update和FixedUpdate


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值