Spine用的也是一样,
Spine的mesh都不小,又500个
Spine分配时就很容易,已分割buffer了,
又重排位置,只会更乱,大大增加打断概率
你可以尝试回收节点renderdata,
排完位置再复用节点,让引擎重新顺序分配renderdata
增大BATCHER2D buffer,上面贴子
renderdata回收,复用让引擎重新顺序分配
改后 sprite 合批是解决了
spine 合批还是会被打断
this.node 下500个合批spine, 到后面draw call 慢慢涨到500
update(){
this.node.children.sort((a, b)=>{
return b.position.y - a.position.y;
});
this.node._updateSiblingIndex();
}