requestAnimationFrame
Ett webb-API för att schemalägga en funktion som körs precis innan webbläsarens nästa ommålning, synkroniserat med skärmens uppdateringsfrekvens. Det rätta sättet att göra mjuka JavaScript-animationer — i stället för setTimeout/setInterval.
Problem: animera med setInterval(fn, 16) är opålitligt — intervallet synkar inte med skärmens uppdatering, så bilder hoppar eller dubblas, och animationer fortsätter slösa CPU även när fliken är dold. requestAnimationFrame(callback) ber webbläsaren köra din callback strax före nästa frame, i takt med skärmen (60Hz, 120Hz, vad nu skärmen har) → jämn animation, och den pausar automatiskt när fliken inte syns (sparar batteri/CPU). Mönster: callbacken animerar ett steg och anropar rAF igen för nästa frame, en loop synkad med skärmen. Use case: alla JS-drivna animationer, spel-loopar, mjuk scroll, canvas-rendering. Komplement: requestIdleCallback för icke-brådskande arbete. Tumregel: animera helst med CSS (ännu billigare), men när JS behövs är rAF rätt verktyg. Hör ihop med requestIdleCallback och will-change.