2016-05-25 6 views
1

Ich weiß nicht, wann RequestAnimationFrame zu verwenden. Wenn requestAnimationFrame und css beide meine Bedürfnisse erfüllen können, welche sollte ich wählen?Wann sollte requestAnimationFrame verwendet werden? und warum brauchen wir requestAnimationFrame, wenn wir einen css-Übergang hatten?

Können Sie mir einige Ihrer Applied Cases zeigen?

thx sehr viel ~

+0

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

Antwort

1

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/

+0

danke für Ihre Antwort ~ – darr