带画布requestAnimationFrame的“重影函数”的可能性

时间:2019-11-03 19:38:11

标签: javascript canvas

我当时正在使用requestAnimationFrame(),我想,

说我有一个功能

function draw(){
  ...
  ...
  requestAnimationFrame(draw);
}

现在可以说我两次打过draw()

draw();
draw();

这是否意味着2个不同的循环将一起异步流动?, 这会导致RAM超载或类似情况吗?

1 个答案:

答案 0 :(得分:1)

requestAnimationFrame(callback)将回调推送到一堆动画帧中,这些动画帧将在下一个 painting 事件循环迭代中同时执行(fifo)。
所以是的,您将运行两个不同的循环,但实际上不是异步的。
对于RAM来说,功能不是问题,但是您在绘制中所做的操作将以原始方式完成两次,而这几乎不是您想要的。
但是,通常有两个不同动画循环。