触摸移动不跟手,有明显延迟

使用Input监听TOUCH_MOVE,改变节点位置,但是快速移动时,会有明显延迟。

圆圈是触摸点,黑线是用Android原生画的线,原生最大有1帧延迟,竖线是cocos端根据touch_move移动的节点,明显有两三帧率的延迟
20240919-194759

慢放5倍看的更清楚
20240919-195118

代码:

private start() {

        input.on(Input.EventType.TOUCH_START, this.onTouchStart, this);

        input.on(Input.EventType.TOUCH_MOVE, this.onTouchMove, this);

        input.on(Input.EventType.TOUCH_END, this.onTouchEnd, this);

        input.on(Input.EventType.TOUCH_CANCEL, this.onTouchCancel, this);

    }

    onTouchStart(event:EventTouch) {

        let uILocationPos: Vec2 = event.getUILocation();

        let pos = this.node.getComponent(UITransform).convertToNodeSpaceAR(new Vec3(uILocationPos.x, uILocationPos.y, 0));

        this.node.setPosition(pos.x, this.node.getPosition().y);

    }

    onTouchMove(event:EventTouch) {

        let uILocationPos: Vec2 = event.getUILocation();

        let pos = this.node.getComponent(UITransform).convertToNodeSpaceAR(new Vec3(uILocationPos.x, uILocationPos.y, 0));

        this.node.setPosition(pos.x, this.node.getPosition().y);

    }

@zzf_Cocos