1.H5网页性能优化web服务开启gzip压缩,使用cnd加速下载。
2.原生平台性能优化使用CocosCreator自带的自动图集配置,安卓使用Etc2格式,iOS使用PVRTC格式,能大幅度优化图片加载速度和内存占用。
3.将频繁创建的对象使用对象池。
4.Label使用BMFont或CHAR模式。
5.减少粒子使用。
6.多个使用相同图片(图集)的Sprite对象在同一节点下按顺序排列不要交叉其他图片(图集)的Sprite,否则draw call被打断,draw call上升。
7.使用Mask组件会打断draw call。
8.贴图内存管理把所有贴图统一管理生命周期根据设备内存大小,分别设置贴图GC的阈值当贴图使用量超过GC阈值的时候,根据引用计数释放没用到的纹理,分帧清理,不卡顿。
9.使用动态合图cc.dynamicAtlasManager。
10.修改render-flow.js使其相同精灵的节点按顺序依次渲染(动态合批)。
11.分帧创建节点。
12.当节点透明度为0时不会渲染,子节点也不会渲染(Cocos Creator 2.13)。
13.动静分离节点。
14.动态树检测技能伤害、AI跳帧执行、伤害帧跳帧检测、伤害飘字合批、在update中不使用cc.v2类似这种创建对象的函数防止gc。
15.预先计算spine动画缓存和提前加载所使用到的资源。
###参考文档
支持 Texture Packer 的 Polygon outline 裁剪,使用 Polygon outline 裁剪后的图集将对每个小图按透明区域精确裁剪为不规则的多边形,将达到类似 Smash Texture 节省图片空间的效果,对渲染性能也有一定提升。该功能无需在 Creator 中进行额外操作,导入图集后即可自动开启。
从 Cocos Creator 2.0.9 开始,支持将 Label 设为 CHAR 模式,即可实现类似的优化方案。能够以“字”为单位将文本缓存到全局共享的位图中,相同字体样式和字号的每个字符将在全局共享一份缓存。提升纹理利用率的同时,也大大提升了文本刷新时的性能。详见文档[文本缓存类型]
从 Cocos Creator 2.1 开始,集成了压缩纹理支持,编辑器可设置不同平台所需格式,构建时将会自动进行压缩,支持 etc/pvr 的 alpha 通道分离。详见文档[压缩纹理]
从 Cocos Creator 2.0 开始,默认会在原生和 Web 平台上启用动态合图,该功能支持运行时根据渲染的先后顺序动态对纹理进行合并,降低 drawcall,用户无需对 z 进行手动指定。当 Label 启用了 BITMAP 模式后,会同时进入合批。详见文档[动态合图]