版本3.7
我开启了动态合图,也打了图集。为什么drawCall 还是会变高?
是不是频繁创建对象
应该不是这个原因。我试了,我一直创建,但只用一个怪物的动画就不会出现dc上升的情况。直到第二种怪物出现。
那就是节点销毁的问题,用对象池了嘛
用对象池了。
兄弟知道原因吗?就是切了另一个动画,就打断合批了。动画打了图集。也用了动态合批。
动态合图会把图合到一个大图里面去,当这个大图尺寸用完了(2048*2048)满了后,会新建一张,不同的合图不能合并drawcall,后续你创建的节点是乱序的,所以就会出现大概率不是同一合图的精灵,所以你要知道他们在那张合图里面,然后排序一下节点(getComponent(Sprite).renderData.chunk.bufferId)
引擎目录下\cocos\2d\assembler\sprite\simple.ts
1赞
我根据你的思路尝试一下
学到了学到了,每个动画分开来打合图

