← ТехнологииНай-важното за

requestAnimationFrame(): движение според времето между кадрите

Издател: ResumeMaker • 1 източника

Публикувано: 21.10.2026 14:07 · Променено: 21.10.2026 14:07

AI проверка по източници: 21.10.2026 10:06. Не е редакторско одобрение.

В няколко изречения

Накратко

requestAnimationFrame() планира функция преди следващо прерисуване. Плавното движение трябва да отчита времето, а не само броя извиквания.

Полезно е да знаеш

requestAnimationFrame() моли браузъра да извика функция преди следващото прерисуване. Честотата обикновено следва честотата на дисплея; не е обещание за точно 60 извиквания в секунда. В много браузъри работата се паузира за фонови раздели. [1]

Ако местиш обект с по един пиксел на кадър, скоростта зависи от броя кадри. При условни 60 кадъра в секунда това е 60 пиксела за секунда, а при 120 — двойно повече. По-добре изчислявай разстоянието от изминалото време: скорост × интервал.

Например при желана скорост 100 пиксела в секунда и интервал 0,02 секунди стъпката е 2 пиксела. Това е аритметичен пример, а не измерване на конкретен монитор.

За продължаваща анимация функцията трябва отново да поиска следващ кадър. Спирай цикъла, когато вече няма какво да се анимира. Така времевата логика остава ясна и не се поддържа ненужна работа.

Източници

За повече подробности и проверка на информацията:

  1. [1] MDN — requestAnimationFrame ↗