drawcall
最快的办法就是合并碎图成图集,然后同一图集的按照顺序摆放节点,中间不能插入其他图集的节点。
cocos自动图集官方教程
需要注意的几点:
1默认字体的每一个label都会产生一个drawcall.所以不能使用默认字体,需要使用bmfont工具制作位图字体。
2修改图片默认颜色会增加drawcall
3图片类型为九宫格会增加drawcall
4修改图片默认透明度会增加drawcall
5默认的纯色图片会增加drawcall
优化方案:最好让美术把图片和字体直接做成想要的颜色和透明度,不要在cocos修改。
button不要使用变色功能。
MotionStreak无法批处理导致drawcall增加
这个暂时没有太好的方案。
可以根据情况用序列帧来代替拖尾。如果实在没法,那暂时也没有好办法
物理优化
我们这边通过enabledAccumulator,并降低FIXED_TIME_STEP降低物理运算,在微信小游戏上显著提高了性能。
let phsic = cc.director.getPhysicsManager();
phsic.enabled = true;
phsic.gravity = cc.v2();
//降低物理帧,优化物理效果
phsic.enabledAccumulator = true;
cc.PhysicsManager.FIXED_TIME_STEP = 1 / 30;//默认值为1/60