addChild速度太慢怎么破?

一个prefab,包含大约40个node。
instantiate挺快的,但是add到场景中很慢,大概需要40ms。而这个prefab需要很多个。。。有办法可以优化吗?

c++里,每个node的onEnter,都会调用两次js代码(kNodeOnEnter和kNodeOnEnterTransitionDidFinish),这个代价很高吧?

1赞

是有点高,我曾想要去掉后者,但是搜索engine仓库的代码,发现后者也还有使用,就不敢乱删。
具体 @panda 确认一下kNodeOnEnterTransitionDidFinish是否可以没必要调用。

@dumganhar 这个有结论了吗?

同问,帮顶

我游戏里面也遇到addChild removeChild 耗时的问题,用了NodePool也没有用

@panda

我也遇到了。

请问应该处理?

这个问题很恶心 希望能快点解决

我也碰到了,临时用显示隐藏方案代替,但还是很慢

addChild removeChild耗时太多,希望2.0能解决

顶一个

持续关注

这根本不是问题,应该用透明或者设置node.x ,y = 9999 来解决,不应该频繁addChild 和removeChild!!!

真正滴问题在于prefab 多了以后滴卡顿。

这种问题很明显是既要使用引擎方便快捷,又想节省资源消耗,说实话解决的可能性不大

我碰到的情况是,addChild还能接受,removeChild的卡顿已经是无法接受了,尤其是切换界面的时候。
removeChild卡的根源在于每一个node remove的时候,都会去尝试注销掉自己的touch事件,Creator的事件注销比较耗时,当出现一大堆touch事件注销时,界面会非常的卡,虽然找到了问题,奈何能力有限,不敢乱改引擎代码。

最新版addchild卡顿解决了没

应该还没有, 更新log没看到有对addchild的修改。

持续关注,这个问题太严重的,之前动态生成的界面我都改了,期待那天优化好了再改回来。

普通的界面,直接摆好就行,比你add快