Przewodniki · 08

Wydajność i odtwarzanie

Jak Animated unika pracy w każdej klatce, jak sprawdzić, której ścieżki używa element, i jak zmierzono liczby na stronie głównej.

Trzy ścieżki odtwarzania

Animated wybiera ścieżkę dla każdej właściwości. API nie zmienia się wraz ze ścieżką.

ŚcieżkaKiedyPraca na klatkę
browserSkończony ruch transform i opacity na elementach Animated.<tag>, łącznie ze sprężynamiBrak w kodzie JavaScript strony
cssDokładne krzywe, które przeglądarka może wyrazić wspólnymi CSS keyframesBrak w kodzie JavaScript strony
jsZwykłe zmienne style, wejście, własne obliczenia i granice sekwencjiJeden zapis na wartość, bez renderu React

Jedna wartość, wiele elementów

Pochodne wartości hooka to wyrażenia calc(). Z scope jeden zapis zmiennej na klatkę steruje każdym elementem w kontenerze.

Przygotowywanie przykładu…

Sprawdź ścieżkę

inspect(element) zwraca sterownik i powód fallbacku dla każdej animowanej właściwości podczas rzeczywistego działania.

debug.js
import { inspect } from '@kkwaenggwari/animated';

console.table(inspect(element));
// property   driver     reason
// transform  browser    null
// opacity    css        null
// --level    js         css-variable-requires-js

Startuje od pierwszej klatki

Gdy zadanie uruchamiające ruch zajmuje główny wątek, jak hydratacja czy duże zatwierdzenie, ruch startuje od nowa po zakończeniu tej pracy, zamiast pojawić się już zaawansowany. Start na ukrytej stronie kończy się w tle.

Jak zmierzono liczby na stronie głównej

Każdy scenariusz uruchomiono na świeżej stronie po jednej rozgrzewce, z trzema zarejestrowanymi próbkami; podajemy medianę. Czas JavaScriptu to czas spędzony w callbackach animation frame, gdy trwa ruch. Nie obejmuje style, layout i paint, które przeglądarka wykonuje przy każdym podejściu, więc nie jest miarą całkowitego CPU ani liczby klatek.

Odtwarzanie w przeglądarce nie sprawia, że layout, paint, compositing i pamięć są darmowe. Mierz prawdziwy ekran na urządzeniach, które wspierasz.

ScenariuszKonfiguracjaWynik
400 Animated.div elements move translateX and fade in (timing, 1800 ms)seed/pose/tempo on Animated.div; 800 browser animations0.00 ms
One useAnimated value drives 10,000 elements in ordinary style (loop, 1200 ms)transform and opacity as calc() of one CSS variable written on a scope element0.13 ms

2026-09-28 · Chrome 153.0.8010.52 (headless) · Windows_NT x64 · Intel(R) Core(TM) i7-14700K

Szukaj

Zacznij pisać, aby przeszukać dokumentację.