Возможность "призрачных функций" с запросом canvasAnimationFrame - PullRequest
0 голосов
/ 03 ноября 2019

Я работал с requestAnimationFrame () и думал:

скажем, у меня есть функция

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

, теперь допустим, что я дважды вызывал draw(),

draw();
draw();

означает ли это, что 2 разных цикла будут передаваться асинхронно? Это может вызвать перегрузку ОЗУ или подобное?

1 Ответ

1 голос
/ 04 ноября 2019

requestAnimationFrame(callback) помещает функцию обратного вызова в стек кадров анимации, которые будут выполняться (fifo) одновременно, во время следующей рисования итерации цикла события.
Так что да, у вас будетработают два разных цикла, но на самом деле они не асинхронны.
Для оперативной памяти функция не является проблемой, однако то, что вы делаете в рисовании, будет выполняться дважды в необработанном виде, а это редко, что вам нужно.
Но с двумя различных циклов анимации - это обычный случай использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...