渲染循环爆炸

时间:2017-11-21 20:29:41

标签: three.js

我制作了一个小型演示/样板,用于加载带有Threejs的自定义网格,并使用轨道控件进行检查。

这里的问题是,当旋转对象时,渲染循环似乎会爆炸,我无法弄清楚原因。

https://codepen.io/rosefalk/pen/ooBYme?editors=0010

function render() {
  console.log('render')
  canvasPosition = document.getElementById( "container" ).children;
  renderer.render( scene, camera );
  requestAnimationFrame( render );
}

如果你在控制台看一下,我会假装在你开始旋转之前每秒约60次呼叫,那么它会以极高的速度上升。

1 个答案:

答案 0 :(得分:0)

解决方案 - 删除此部分:

controls.addEventListener( 'change', render );

当控件正在更新时,它会调用渲染,渲染调用本身并爆炸整个事件,添加大量额外调用。它只是在只更新用户交互场景时才有的残余。