节点运行为什么有卡顿感

这是我移动节点的单独demo,我弄了十几个节点并排往右移动,每个节点都挂载了这个,无其他代码,为什么运行的时候总感觉有点卡顿抖动的感觉,手机上运行更明显一点,是不是这引擎就是这德性,就这么几个节点移动都总感觉移动不是流畅的,我还试了用tween去移动,好像感觉一样,有哪位大佬有解决思路吗

检查下,是否有其他脚本,也在移动该 node

固定步长怎么弄的,我在电脑上感觉也有点点卡的感觉,我电脑配置还是很高的。就这么一个移动的动作。

没有了。就这么点代码,我单独拉出来试的,就是感觉不流畅

位置的计算放在update,赋值放到lateUpdate里试试

我用3.8.7,挺流畅的,几十上百个node同时跑

等我回去试试看

你这个位置更新是怎么更新的,我看都是计算方向和变形处理

也是在update里设置的
const dx = this.path.endPoint.x - this.node.position.x;
const dy = this.path.endPoint.y - this.node.position.y;
const distance = Math.sqrt(dx * dx + dy * dy);
if (distance > 0) {
const moveDistance = this.speed; // * deltaTime;
if (moveDistance >= distance) {
this.node.setPosition(this.path.endPoint.x, this.path.endPoint.y, this.node.position.z);
} else {
const ratio = moveDistance / distance;
const newX = this.node.position.x + dx * ratio;
const newY = this.node.position.y + dy * ratio;
this.node.setPosition(newX, newY, this.node.position.z);
}
} else {
if (this.paths.length == 0) {
this.loop = false;
this.node.emit(‘reached’, this.node);
return;
}
this.path = this.paths.shift();
this._angle = 0;
}

好的,谢谢

代码方面没什么问题,我这边用了好几种移动方法,都会有抖动的情况,但将节点放大后就不会了,有可能是节点太小导致的视觉差,看着有抖动,其实没有

您这边有用过什么方式规避掉这种吗,我也把能移动方法都试了一遍,就一直感觉视觉上有抖动,就这种抖动蛮膈应人的,也改不好。

之前没注意到又这种情况,今天看到你帖子才知道的,就是不知道真机上会不会也抖动

如果真机上不会的话可以不用管

我运行后手机扫码后在手机上看也会有,就哪怕我一个节点移动也会有这种感觉,我的节点确实不大,就60*60的小图片

我碰到一个节点移动时抖动的情况是动画帧尺寸不一样,sprite.sizeMode设置为TRIMMED导致的。不知道楼主是不是这个情况。

我没用动画,就之间用的sprite图片,大小尺寸都一样,就移动的时候感觉节点被震麻了感觉。

不用客气,也没帮到你啥,不过我猜测你移动的node所绑定的图片和整个场景其它资源图片渲染存在打断,没有合批渲染导致的,建议你把资源打成plist试试,我的不卡顿,和你的区别应该就是图集的问题。

我整个移动的节点是一个图集,就是背景和按钮不在图集里