Cocos creator 如何处理批次渲染的问题

现在的cocos creator 是不支持批次渲染吗,那碰到那种有大量渲染重复纹理的对象的话,渲染效率不是会很低?

1.2 版本开始,web 和 native 都支持自动批处理渲染

能说清楚些吗,我在重复添加1000次相同纹理的时候,帧率掉的非常严重

你具体是怎么做的呢,发一些截图或者代码把

this.snake_num 值传入1000,在进入游戏的时候会黑屏很长时间,进入后,帧数就在30左右了

this.snake_num 值传入1000,在进入游戏的时候会黑屏很长时间,进入后游戏帧数就降到30多点,重新loadScene场景进入,再次创建就会正常

在 preview 的时候,可以打开 FPS 显示,FPS 分三行,第一行是 drawCall 数量,你可以先确认批处理渲染是否有效,如果 drawCall 数量是个位数,那么没问题,如果是 1000,那说明没有批处理

1赞

draw call的数量是1000,果然没有批处理

是不是在模拟器中运行的时候是不支持批处理的

要看看你的场景中的节点结构才能确定了

节点结构有什么要求吗?

要不发个 demo 来看看

1赞

可以啊,我先把那个节点加上去起

我也遇到了同样问题,cocos creator版本1.5.1
我是new了很多个prefab, 然后修改prefab里面的SpriteFrame
cc.loader.loadRes(“fog”, cc.SpriteFrame, function (err, spriteFrame) {
console.log(“666666666”);
console.log(spriteFrame);
self.bar.getComponent(cc.Sprite).spriteFrame = spriteFrame;
});
self.bar.getComponent(cc.Sprite).setVisible(true);
draw call的数量持续在1000多

最后解决了吗,表示prefab也会出现这种情况

我这边创建了多个节点,拼成的一个大图,进入游戏,drawcall一千多个,很卡,请问这个该怎么去解决啊

使用图集,如果节点使用同一个图集,并且之间没有穿插其他图集的图片或者散图,就会合并批处理

图集我试过了,减少了一点,但是还有好几百个,还有其他有效的解决办法么

为什么会有好几百个,你怎么用的,屏幕外的隐藏掉应该能好点?

我拼了一个很大的地图,里面有很多个节点,但是如何判断屏幕外隐藏呢