update(){
this.node.translate(v3(0,0, -10 * director.getDeltaTime()));
}
用这段脚本移动物体,摄像机作为子对象,每隔一会就会卡一下。
update(){
this.node.translate(v3(0,0, -10 * director.getDeltaTime()));
}
用这段脚本移动物体,摄像机作为子对象,每隔一会就会卡一下。
试试把这断代码放在laterUpdate里呢?
一样卡,不知道什么原因,我是做跑酷游戏,这样一会卡一下是肯定不行的
你这个卡顿是真的卡,还是因为摄像机和角色的距离会产生抖动,所以看起来卡呢?
就一个移动代码挂在box上,摄像机是box的子对象,很简单的一个测试场景。这个卡是box会停一瞬间的卡,不是摄像机的抖动
update(dt){
this.node.x+= speed* deltaTime;
}
另外这种间隔性的卡顿基本上都是内存回收导致的. 虽然你这代码只有一行, 但却每帧都在创建v3对象. 每秒60个,每秒600字节消耗,而且都是临时对象,用完就标记为可回收了, 导致频繁触发GC. 具体可以F12观察 performance
按道理说回收这么点内存不至于让画面出现卡顿吧,我将v3改成成员变量效果还是一样,每隔一段时间就卡一下,你们可以自己测试一下,妥妥的必现
抖一抖我看到了,但是为什么抖完又回去了。。。
我按照你的描述自己新建了个空项目,没看到抖动