如果我强迫它使用25 FPS,是否值得使用请求动画帧。这就是我要问的原因:
正常的RAF行为:
a1000ms / 60 fps = 16.66a
这是大多数监视器的标准刷新率。
将FPS降至30:
1000 / 30 = 33.33
正好是60的一半,这意味着每个其他RAF执行都会做一些逻辑和一致的事情
将FPS降至25:
1000 / 25 = 40
这是不可分的16.66(通常用于屏幕更新的RAF时间)
有了这个逻辑,我必须每隔40毫秒抽取一些东西到屏幕上,但这是不可能的,因为一帧是16.66。
我通过标准代码降低帧数:
fps = 25,
renderRate = 1000 / fps,
function animation(timestamp) {
draw.requestAnimationFrame = requestAnimationFrame(animation);
now = timestamp;
elapsed = now - then;
if (elapsed > renderRate) {
then = now - (elapsed % renderRate);
//Some code for execution goes here
}
}