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

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

文章目录

  • 一、模型优化
  • 二、贴图优化
  • 三、UI优化
  • 四、代码优化


一、模型优化

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


你可能感兴趣的:(Unity,unity)