自定义requestAnimationFrame帧频

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);
}

 

posted @ 2018-12-13 11:13  居家懒人  阅读(248)  评论(0编辑  收藏  举报