各位大佬,本人刚用cocoscreator不久,就遇到一个头疼的问题,就是我的drawcall一直在100多,降不下去,我参照官方说的批量渲染逻辑和对象池做都不能让他降下去,导致我的游戏一直很卡,特别是安卓,关于批量渲染那块,label我是用的系统字体,预制资源里的图片都是用的同一张图集里的图片,还有啥是我没注意到的吗?还请各位大佬传授点经验。还有一点就是我的预置资源里有碰撞组件,有粒子组件,我把这两个组件去掉也没有降下去,这两个组件有没有什么特别的优化使用技巧?
我测试了下 ,导致drawcall降不下去就是因为我的这个预制资源同时多次创建导致的,可以排除其他问题。
把label从预制体里拿出来,系统字体会打断合批。
请教前辈,若Label使用了TTF字体,还会打断批合并吗?
你这个要使用位图字体资源,并把位图字体的图片和其它图片打到一张图集里才可以,ttf字体会打断合并。
这个帖子有详细的介绍-
http://forum.cocos.com/t/drawcall/43273
2赞
首先肯定是将碎图打包成图集,然后是从节点树设计上去优化,使用同一图集的节点最好放到同一树枝上,在此树枝上不要插入使用其他图集的节点和会打断渲染的节点,使其能批量渲染。系统字体是会打断渲染的,而且系统字体一个label就需要一次drawcall,不管你是不是将两个label放到一个树枝上。还有比如像mask组件也是会打断渲染的。
同一层级内的节点使用同一图集才有意义
还要连续使用,中间插了其他图集的节点了等于又加一