Ich glaube, der einzige Grund für requestAnimationFrame
über CSS-Animationen zu entscheiden ist, wenn Sie schnell Animationen tun möchten, wo Sie sicherstellen müssen, dass Browser es glatt machen würde. Animationen wie springen, stoppen, pausieren, zurückkehren können von der Verwendung requestAnimationFrame
profitieren.
Die Sache ist, dass requestAnimationFrame
keine CPU-Leistung verwendet, und Zeichnet nur Animation, die für den Benutzer sichtbar wäre (es verbraucht nichts, wenn Sie Tabs, minimieren, usw.). Frames werden nur gezeichnet, wenn der Browser bereit ist und da keine fertigen Frames zum Zeichnen bereitstehen, gibt es keine unnötigen Frame Draws. Also, für Glätte Garantie, können Sie sicher für requestAnimationFrame
entscheiden.
Wenn Sie etwas einfaches planen, das nicht zu der obigen Erklärung passt, dann ist requestAnimationFrame
übertrieben und Sie sollten besser zu CSS-Animationen wechseln.
Quelle konsultiert:
https://dev.opera.com/articles/better-performance-with-requestanimationframe/
Ihr Zweck ist nicht das gleiche. rAF ist eine Timing-Funktion für die Ausführung von JavaScript-Code. CSS-Animationen dienen nur zur Anzeige von Elementen. Wenn Sie ein Element von x1 zu x2 animieren möchten, verwenden Sie CSS, wenn Sie etwas Javascript (z. B. auf einer Leinwand) ausführen müssen, verwenden Sie rAF – Kaiido