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

本来想看看有没有什么方法优化公司项目的dc,然后花了一晚上做了一个原生没用的优化(3.6)

商店里面的插件我看了都泪目,一个99,一个199,羊肉很肥,下锅不错 :rofl:

目前初始版本支持web端的 sprite、label、richText 合批

如果需要的人多我可以花点时间完善,程序员不坑程序员,售价50米,如果一个插件几百还不是公司出钱买的我个人都不会愿意买

  • 我愿意买
  • 不愿意买

0 投票者

目前自己不做 web 项目,放一份原始版本,需要的自取

https://github.com/1226085293/cc-dynamic-atlas

9赞

还得是你

其实我不明白为啥插件可以做到优化dc不都是项目中自己改节点顺序吗要不就改引擎源码什么的麻烦的要命 大佬上架我愿意花钱买顺便学习一下

忘记了
sort(人情世故);
这个道理了?

主要是web端的合批优化, 整个论坛太多人分享了, 你卖插件意义不大, 反而你是把web端可native都打通了, 反而更多人愿意买

合批优化分享是很多,但是你见过免费的 label 和 sprite 合批吗?找个看看?目前我看到的只有论坛的99和199插件,且都不支持3.6以上的原生

的确,我之前想做个 open-component 插件,提供免费组件,提供作者捐赠接口,实在看不惯 cocos store,最近没啥时间后面看看

1赞

不改引擎源码,纯粹即插即用,但是会用到引擎组件未公开的属性,所以对于版本升级还是有点麻烦

这些本应该是引擎要做的优化

6赞

:rofl:

laya2.0有个勾选框,可以自动把文本都提取出来到一块,望引擎组能优化下
image

这不是个通用需求吧?把文本放在最上层,无视遮挡效果么?

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

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

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

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

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

1赞

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

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