小白求问:关于节点运动时不流畅与卡顿

刚接触Creator,遇上一个蛮棘手的问题,恳请各位大大赐教。
在真机上运行时发现节点的运动会间歇性卡顿,试过多款手机均有不同程度的卡顿。
就算只有一个节点反复运动(并不高速),也会有卡顿现象。
通过定时或碰撞添加多个运动节点时卡顿明显,通过点击等方法主动添加情况较好,但在部分手机上依旧卡顿明显。

最简单的情况(单个单色sprite节点):
update: function (dt) {
if(this.node.getPositionX()>550){
this.node.setPositionX(-550);
};
this.node.setPositionX(this.node.getPositionX()+10);
},

或(添加节点):
addBar: function () {
var bar = this._pool.get();
if (!bar) {
bar = cc.instantiate(this.BarPrefab);
};
bar.setPosition(-550,0);
bar.runAction(cc.sequence(
cc.moveTo(2, 550, 0),
cc.callFunc(this.putNode, this, bar)
));
this.node.addChild(bar);
},
putNode: function (sender, bar) {
this._pool.put(bar);
},

做了个简单的DEMO,包涵了多种会产生卡顿的情况。NodeTest.zip (2.8 MB)

你是在什么设备上面测试的呢,是 web 还是 native 呢?

我在 小米4 上面的 qq浏览器 上运行了一下 demo 没有发现卡顿额

native。华为P8、mate7、8;OPPO R9、R7;魅族MX6。
刚试了下,web也卡。
试了下
update: function (dt) {
this.node.x += 200*dt;
}
依旧没改善
帧率也尝试调整过

说是卡不知是否恰当。多数情况的现象像是,掉帧或者跳帧。感觉是时常会有帧没处理完就进行下一帧了。

你是在什么版本上测试的呢,1.2 试下?

按道理说只是这样运动就会卡顿不太科学

update: function (dt) {
    this.node.x += 200*dt;
}

您用的是什么版本,那几种情况着实不会出现不流畅吗

用了1.2,真机上运行闪退。。。
试了自带的基础helloworld项目,完美闪退,:joy:
是配置路径的问题吗
现在用的1.1.1没问题啊

en,我用小米4测的,很流畅

能劳烦您用1.2编译一份把apk发我吗,感谢。

给我个邮箱,我发你

1902003655@qq.com
十分感谢

非常感谢。
装了您发给我的。在其他的上基本感觉不到卡顿了,但华为上依旧明显。
话说您知道1.2编译成功后运行闪退怎么破吗

这个可能要根据调试信息来判断了,你可以用 eclipse 连上看看 logcat 能不能捕获到有用信息

推测可能是编译环境有关系。

好的,我试下

闪退的错误是:cannot locate symbol “atof” referenced by “libcocos2djs.so”
感觉应该是编译出的安卓版本的问题,5.0以上的可以正常运行。
另外,您编译时用的NDK是什么版本的。

ndk: r10e
sdk: android-19

我也是ndk: r10e,sdk: android-19。
试了各种方法目前还没解决。
API版本没有问题,CPU 架构也没问题。android studio里检查1.1.2和1.2构建的android studio项目没有任何区别(除了libcocos2djs.so)但对于5.0以下的1.1.2的运行没问题,1.2的闪退。

1.2闪退的问题解决了,是我SDK Build Tools 的版本与1.2默认22.0.1的不对应

好的,这个确实挺难找出来的~