如何一行代码减少合批

可以考虑下我在2.X的思路 自己维护一个渲染队列,这样就不用每次都重新排序了。

1.先随手定义一个全局对象
image

2.在节点的setParentdestroy处维护队列。目前没考虑到removeFromParent


查找item子节点是否在对应的content
如果查到了就递归出所有的子节点,按照规则给他们装在数组里面,并给当前item以及item下的子节点添加一个isCustomRender自定义渲染标签。


删除时维护队列

3.最终渲染时,先找到content然后把content下标记的子节点根据配置平行铺开。没有自定义渲染标签的走正常渲染流程。

4.使用的时候仅仅只需要手写一份配置。


这就是对应结构,
在渲染的时候,会按照tree从上到下渲染。

4赞

可以的。。
:+1:

MARK!

看了下3.6 直接给你整到C++里去实现了。哈哈哈,看你们一个个天天改合批策略,官方生气了。

1赞

官方能真实现这个功能倒是挺好的 :sweat_smile:

不错,一会儿尝试一下
mark

是官方实现了吗?

好东西好东西,收下啦

请问这种改变渲染顺序的方式,实际看到的效果 节点层级也是改变了吗?

不会

mark!!!

mark !

为什么呢?这个渲染顺序不是渲染到相机的显示顺序吗?大佬知道的帮忙解释原理?

这个图真有意思

战略mark,兴许用得着

mark!

意思是不暴露到ts让你随便修改了? :rofl:

大佬你这个查看fgui层级的插件是什么

商店 cocos inspector

MARK!!