大大,游戏中会不断生成重复内容时卡顿,可以从哪几方面优化

我已经使用了对象池,但是在加入场景,调用setparent时还是掉帧很厉害

同问,在复制节点的时候很快,但是加入场景时会消耗大量的时间。

另问,如果说setparent会导致这个问题是否就意味着removefromparent也可能有这个问题

你试试不要removeFromParent,回收时只把opacity设为0怎么样呢?

这是设置节点全透明的意思吗?

我尝试过,这样做的话gl verts和gl call都很高,感觉很难降下来

如果你是重复利用的子弹的话,建议你用position设置到屏幕外面的方法,反复利用重复子弹,比用对象池要流畅哦~

有两个方面原因,一方面是 setParent 会清空场景渲染队列,需要重新生成渲染队列,这个比较难优化。
另一方面是现在生命周期方法采用的是”事件机制“实现的,场景中的节点数量比较多时,注册和销毁确实还有一些开销,容易造成卡顿。在 1.3 中有进行过一部分优化,不过更彻底的优化要等生命周期方法的调用机制重写后才行。

总之,目前建议先不要频繁进行 setParent 操作。

那建议把cc.Pools的putObj中内部方法改成active = false…

这个问题我也提过好多次了,建议官方把优先级提前。否则现在安桌真心要命。。