场景里一个label就是2drawcall嘛?

我说怎么drawcall100多

一个label 2 dc,谁说的? 而且不是可以通过改cache mode等来减少的么?

是的.

我眼睁睁的看着 创建一个 +2dc,比图片还占,占俩呢

我发现是这样的,只要图片和label在某一方的子节点 ,那么———这个组合每多一个, 就会多2dc!!!是的!如果是单个存在则一个也不会多!!!!!!!!也就是说 十个相同lable 十个相同 sprite,drawcall可以是20,也可以是 :真実はいつもひとつ :2!!!是的,就是这么的神奇!!!

图片选择BITMAP模式,并且打开dynamicAtlasManager,这样就可以合并dc进行批处理了。

另外一个label 就是 2个dc,这怎么可能。你是把左下角的debugInfo的dc也算进去了吧?

哦,设置bitmap,好像可以,但是我做的是,材料和血量,相当于label在sprite下面这样的结构,基本一直改变,就说需要频繁修改,要用Char模式。这样的话,每多一个就2drawcall,你可以键一个空项目,图片下放Label, 这样 复制10份drawCall,就是20,按理说应该是11啊

这种情况用BitMap好,还是Char。基本场景里有40——70之间这么多,频繁修改血量的。
用bitMap呢,Drawcall,应该不会增加,但是官方提示说 不能频繁修改!
用Char呢,每一个就多2drawcall,但是可以频繁修改!
大佬,我用哪个好一点!

你这样布局把图片的批处理打断了

文字可以不放在血条节点下,和血条平级,并且归类在一起。
由血条持有文字的引用,并更新文字的坐标,这样就不会打断drawcall了。
如果非要放一起就只能加个 spritefont了,和血条的UI 放一个自动图集下打包。

平级也不行,我现在是预制体,血条的位置怎么放都是试了一遍,我还特意建了空节点,放在空的下面,可是还不行,不知道怎么样的一个结构,可以让 预制体里 同时有label,sprite,每次只只增加1Drawcall,不晓得有没有,目前试了还没成功

这种情况下就不要用系统字体了,建议弄成bmfont去使用,这样和sprite就可以合批了

我试了bmfont也不行,一样的效果

这个空场景也会有一个drawcall的,所以一个label两个drawcall很正常啊

1个3 ,2个5,标题没描述清楚0.0 其实是预制体里或一个结构里有sprite+label,每多一个这样结构+2 DC

BITMAP可以解决,但怕频繁修改会卡

sprite+label这种就很难处理了,把所有label放到一个node下面,但是操作起来会很麻烦,增加一些工作量。而且也有限制

先这样吧,其实现在游戏也没那么卡。只不过Drawcall有点高,现在是游戏后期优化阶段,看看优化一些其他的.

想到了个解决方法就是把他们分开,做成两个预制就好了,更新字体位置

你这样到排行榜就头痛了,