打包(release)到安卓真机时卡顿现象很严重 只是连续调用setParent 和 setPosition

只是连续的调用setParent()往场景中添加节点 然后setPosition 打包(release)到安卓真机就会有明显的卡顿现象(隔一段时间就会卡一下) 下面是demo下载链接(内含apk包):
http://pan.baidu.com/s/1nuBZy0D

什么卡顿? 我装了下好像没卡啊。

喔。看到了。确实会有。

感觉是你逻辑问题。我看到卡的时候小球之间位置都是断开的。 像是对像池里没球用了。

对象池里面的数量已经打印在屏幕上了 数量一直是足够的 具体的你可以看源码

嗯。确实是。我也搞不明白什么情况。 看来得官方的人来处理了。我这边也在安桌上发现很卡的情况。 还有内存回收的问题也是要命了。

对啊 我们做的是射击游戏 打包到手机上根本没法玩

我刚测试的这台机器是很好的。也会有卡顿。时不时小球会断开。

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

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

我觉得你可以做几个测试排查一下问题。 比如小球移除后active设为false,重新回到起点。不要remove.不用对像池。

恩恩 只能这样试试了

我这边是scrollerView上有用对像池,然后发现拖动的时候有你这个一样的问题。Ipad上都会。你要是解决了麻烦吼一声。

绕过setParent问题还是存在! 你说的原因二我也没法测试,测试demo(含apk):
http://pan.baidu.com/s/1nv2Mytb
我希望你们能耐心看下demo 定位下具体原因, 而不是只靠猜测, 毕竟逻辑不复杂, 只是使用一些最基本的api。

谢谢你的范例,我们看看