dynamicAtlasManager,动态图集利用率的优化

Cocos Creator原来的动态图集,合图规则是后来居上,来一个就放一个,如果中间来一个比较大的图片的话,后面又来一个比较小的图片,那么利用率就会极低。我结合项目的实际情况,将这个缺陷做了优化,合图的利用率高了不少。

主要优化:
1.使用格子,将整张图集,分割成一个个小格子。当来了一张图片需要合并的时候,就去查找满足该图片大小的空白区,提高图片的利用率。
优化前

优化后

2.图集可以自己命名分模块管理。
原动态图集的方案是一张合图满了之后换下一张,所有的合图图集都混在一起,这样很不利于管理。优化之后开发者可以根据自己的需求,将合图分成不同的模块,比如界面的图标是一个模块,场景的是一个模块。
图集分模块管理这个,后续还需要优化。

ps:欢迎各位大佬提优化意见或者bug。:smile_cat:
附上项目下载地址:https://github.com/SHALLYKL/dynamicAtlasManager-master.git

食用方法:直接将Script/dynamic-atlas目录复制到项目对应的目录下,需要插入图集的时候,调用DynamicAtlasManager.insertFrame接口。

3赞

楼主666,Mark Mark Mark :smile_cat:

dynamicAtlasManager 好像没用吧 , 拿你这demo测试 创建 800多个结点, 800多个drawcall, 真机上 drawcall 确实降低frametime 和 render 也确实降低, 当时 fps 反而 更差, 并且反而不稳定…