What is requestAnimationFrame?

The requestAnimationFrame is a method offered by the browser’s rendering the engine that helps optimize animations and visual updates and It schedules a function to be executed just before the browser’s next repaint typically in the sync with the screen’s refresh rate. This method is specifically designed to the create smooth and efficient animations on the web.

Syntax:

requestAnimationFrame(callback);

Example: This demonstrates and invokes a function called “animate” that logs “Animating…” continuously using requestAnimationFrame for smooth animations.

JavaScript
function animate() {
  console.log('Animating...');
   requestAnimationFrame(animate);
}
animate();

Output:

Animating...

SetTimeout VS RequestAnimationFrame

The setTimeout and requestAnimationFrame are functions that can be used to the execute code after a delay. However, they serve different purposes and are optimized for the different scenarios especially when it comes to the animations and performance.

Similar Reads

What is setTimeout?

The setTimeout is a built-in JavaScript function that allows to the schedule the execution of the function or code snippet after a specified delay in which is measured in the milliseconds. This function is commonly used for:...

What is requestAnimationFrame?

The requestAnimationFrame is a method offered by the browser’s rendering the engine that helps optimize animations and visual updates and It schedules a function to be executed just before the browser’s next repaint typically in the sync with the screen’s refresh rate. This method is specifically designed to the create smooth and efficient animations on the web....

Difference Between SetTimeout and RequestAnimationFrame

Characteristics SetTimeout RequestAnimationFrame Purpose The General-purpose delayed execution The Optimized for the smooth animations and visual updates Timing Inaccurate may drift over time Synchronized with the browser’s repaint cycle Frame Rate Not tied to the screen refresh rate Tied to the screen refresh rate Battery and Performance Can be less efficient for the animations The Optimized for the battery and performance Usage The Simple animations, delays and non-visual tasks The Complex animations and visual updates Browser Support The Supported in the all browsers The Supported in the modern browsers...