cocoscreator 2.0.9版本使用自动图集动态创建节点会增加drawcall

所有图片都打入打图集里了,创建出的节点还会使drawcall增加

打包时出现下面的错误提示
原图 db://assets/Texture/a.png 已经被打包到自动图集 Texture/AutoAtlas.pac,但由于这张原图同时被 db://assets/Prefabs/gas.prefab 直接使用,因此原图仍然会保留一份。

这个尾巴怎么做的。。

你仔细看下打包过后的res文件夹,提示这句话的时候,说明a.png已经打包到自动图集了,但是原图还是保留了一份,而游戏中使用的图就是保留的那一份,而不是图集里的,所以drawcall会增高

我猜这个gas.prefab应该是拖尾,在我印象中,粒子效果所用的图不能放到自动图集,ccc打包的时候会出现上面的提示,估计拖尾也是一样的

额,那这个怎么解决呢,还是说不用cocos的自动图集功能,我去打个图集再cocos里用呢

能否给一下小 demo,让我们测试一下?

打成图集只是合成drawcall的一个必要条件,但是你的项目,看起来,有自定义shder,还有粒子等因素,给个demo,我们分析一下。

TapMissile.zip (1.5 MB)

你项目使用了拖尾组件,这个纹理是独立的,没法与其他资源合批,你拖尾的节点是合图纹理与拖尾纹理交叉渲染,drawcall 是会增加,小优化,可以将拖尾效果分离,单独在一个层做渲染,位置坐标与绑定节点做同步。

哦哦好的明白了,感谢大大

还有个问题,如果是多个不同图片的拖尾也会增加drawcall是吧。。。这个怎么减少呢?
自己用软件去做图集 可以减少drawcall么?

这个可以的,我自己用的软件打包图集,drawcall就能降低