requestAnimationFrame一般是用来实现动画的,是浏览器在绘制每一帧的时候会执行,所以相比于setTimeout不会掉帧,并且在界面不显示的情况下不会执行,而setTimeout在界面隐藏情况下默认会继续执行的。一般webgl实现动态可视化的时候都会使用requestAnimationFrame进行绘制~