[muzzik 分享]:你以为合批很难?但我只花了一晚上搞定

这个大部分情况下都是可以用的,望引擎组能出类似的,并且更通用 :grin:

终于有一天要用上 马赛克大佬的东西了 :laughing:

还可以更细一点,不过要费点时间,支持分模块(比如功能大窗口挂上组件自动创建atlas自动合),把bitmap也搞进来
碎图可以用 https://github.com/soimy/maxrects-packer 控制下空间利用率,不过这个看情况,过多碎图插入找位置比较耗cpu

我之前想的是直接挂节点上,合图所有子节点,不过我不用这个东西所以没花时间搞,而且合图最主要的让游戏不卡,你提高利用率每次重绘合图浪费的性能还不如不用

不是重绘,他这个是分割成n个小块做了记录,标记某个块被删除而已,插入新的回去找下还有没有空位可以利用而已
可以分区 顶层碎图简单控制
下层大点的可用这个算法控制 数不多

1赞

这个是可以的,我在另一个帖子也说了类似的方法,不过还是算法好点

没错,那个99的就不支持native的,一用就报错,直接卡死~~

大佬v587

支持一下
mark

mark~

一个原本引擎应该做的事情,硬生生被各种大佬强撸出来。不是我以为很难,而是看引擎组这么多年都不优化一下,只能说对于引擎组来说“很难”,你的意思是引擎组连一个晚上都不舍得花?惊,快跑!

1赞

你太天真了,说明你还没有了解合批原理,这种东西不适合引擎组去做的,毕竟会改节点顺序。潜在可能节点逻辑也会改变的。引擎的通用是第一的。

你的意思是腊鸭引擎组都闲着蛋疼?我没记错的话,腊鸭比cc性能好太多了,特别是在上万个label和sprite等等需要混合同屏显示时候

支持一下
mark

人家laya自带了 把label弄到顶层的 你这个是不是一个原理

用的动态合图,不是修改渲染顺序

编辑器现在laya已经发展到超过cocos了

动态 合图最多不能超过2048吧

laya更像开箱即用的 而且引库什么的也方便

所以要实现分模块合批功能…
光用自带合图,限制太大