我发现node的active切换,会使原本为个位数的drawCall,暴增几十倍。比如有一个UI面板,初次渲染的drawCall只有3,但是经过两次的active切换(true->false->true)后,drawCall会升到60-70。如果用设置scale的方式进行这个面板显示与隐藏,这个drawCall暴增问题就不存在。同样如果用设置node.parnet=null的方式进行隐藏与显示,这个drawCall还是会暴增。也就是说在节点显示与隐藏切换的时候不能设置active和parent方式,而是要用设置scale的方式。
有没有懂一些大佬解答一下,看看是不是这么个情况。。。
我偶现过一次,设置 active true->false->true 后label的bitmap和char不起作用了,重启下项目后没有重新复现了。。
你是不是有动态合图,我猜测是你active变化后,合图被打乱,导致的DC变化,试一试把合图先关闭,做一下验证
我没有特地设置动态合图,根据文档试了一下,开启动态合图就是和我目前情况一样。不开启动态合图的时候,首先初始drawCall就搞了一二十,然后切换还是会dc暴增
唉,解决不了,我只能写一个公用的显隐方法,用scale进行切换了,这个问题难道只有我存在吗。。。
用scale方法又不能触发组件的onEnable和onDisable。真的是。。
有个设置buffer大小的 改大试试
我估计就是切换导致Label的BITMAP缓存和CHAT缓存失效,所以drawCall从个位数涨到几十。。
卧槽,换成3.8.7就好了。。感谢大佬
