requestAnimationFrame(callback)触发的callback方法会接受一个时间戳参数,所以如果不想直接跟随浏览器系统帧频的话,
就可以利用这个时间戳参数来做到自定义帧频,做法就是当前时间减去所记录的上一次的时间,如果超过自定义的帧频时间,就可以真正做渲染了
var fps = 60;
var frameDelay = 1 / fps * 1000;
var timeRecord = -frameDelay;
function render(time){
if(time - timeRecord >= frameDelay)
{
cube.rotation.x += 0.1;
cube.rotation.y += 0.1; ballMesh.rotation.x += 0.1;
ballMesh.rotation.y += 0.1; line.rotation.y += 0.1; renderer.render(scene,camera);
timeRecord = time;
stats.update();
}
requestAnimationFrame(render);
}
render(0);
}