三张男士小背心在一个合图里面
creator渲染次数为4次
层次结构,我还故意把小图都放在了一个node下面。
cocos2dx渲染次数为2次

代码:
auto bg = createSp("homesc/shoplayer/bb_bg_6.jpg");
bg->setPosition(g_winCenter);
addChild(bg);
/*auto bg2 = createSp("homesc/shoplayer/bb_bg_6.jpg");
bg2->setPosition(g_winCenter);
bg2->setScale(0.05f);
addChild(bg2, 65);//这里故意把zorder插在下面小图之间
*/
float startPosX = -200;
float disY = -100;
float startPosY = 300;
for (int i = 1; i < 4; i++)
{
auto str = StringUtils::format("#0002_02_%d.png", i);
auto sp1 = createSp(str);
sp1->setPosition(vec2Creater(startPosX, startPosY + disY*i));
sp1->setLocalZOrder(i * 30);//故意把zorder设置成不一样
addChild(sp1);
}
我故意把zorder设置不一样渲染次数还是2次。
我把bg2注释去掉渲染次数为4次,而不是5次。感觉2dx优化的挺好的啊。
如果能够动态判断同时批量渲染不会与高层级的图像重叠,就更好了。
另外:游戏是换装游戏,里面有很多的item菜单详情,里面有很多的label,再加上字体描边,draw call的次数相当可观,有什么简单可行的方案减少drawCall嘛
