加载优化主要从一下几块着手:纹理、网格、shader、动画
纹理:
尽量采用硬件支持格式,安卓(ETC1、ETC2),ios(PVRTC)
对于UI和一些不必要对纹理在运行时进行处理的关闭Read/Write,打开这个会使内存占用翻倍
纹理分辨率采用2的n次方
对于UI和一些不需要远近处理的纹理关闭mipmap
纹理的分辨力率尽量小,够用就好的原则
网格:
顶点、面片数量秉持够用就好的原则
顶点属性:position、uv、normal、tangent、color。normal和tangent一样,会增加物理题及,影响加载性能、和内存占用,要尽量简化顶点属性。在使用DrawCall Batching时,切忌将拥有不同顶点属性的网格模型拼合在一起,因为在进行batching过程,只要又一个网格模型具有某种顶点属性,就会为其他每个网格加上相应的顶点属性,严重影响各种性能
如果在项目中不会对网格惊醒读写操作(比如Morphing动画等),则将Read/Write功能关闭。既可以提升加载效率,又可以大幅度降低内存占用
Shader:
降低Keywords数量:比如比较简单的shader可以去掉Fallback
将shader进行依赖打包,在游戏初始化运行的时候加载shader,对于Unity5.x版本,除执行LoadAllAssets操作外