我的网页基本上是一个我用WebGL更新的画布。我正在尝试获得平滑的水平动画(基本上,就像你在电视上看到的爬行一样)。我的帧都低于16.6毫秒,但动画仍然有小口吃。看看DevTools中的时间轴,看起来所有的工作(JS和绘画)都发生在框架的最后。我想知道这是否导致了口吃。我也不明白为什么这项工作不会在每帧的前10毫秒内发生。
我的渲染循环如下所示:
function animate(now) {
requestAnimationFrame(animate);
crawl.position.x -= STEP_SIZE;
renderer.render(scene, camera);
bufferCopy();
}