Průvodci · 08

Výkon a přehrávání

Jak se Animated vyhýbá práci v každém snímku, jak ověřit, kterou cestu prvek používá, a jak byla změřena čísla na úvodní stránce.

Tři cesty přehrávání

Animated volí cestu pro každou vlastnost. API se s cestou nemění.

CestaKdyPráce na snímek
browserKonečný pohyb transform a opacity na prvcích Animated.<tag>, včetně pružinŽádná v JavaScriptu stránky
cssPřesné křivky, které prohlížeč umí vyjádřit sdílenými CSS keyframesŽádná v JavaScriptu stránky
jsBěžné proměnné style, vstup, vlastní výpočty a hranice sekvencíJeden zápis na hodnotu, žádný render Reactu

Jedna hodnota, mnoho prvků

Odvozeniny hodnoty hooku jsou výrazy calc(). Se scope jeden zápis proměnné na snímek řídí všechny prvky v kontejneru.

Příprava příkladu…

Ověření cesty

inspect(element) vrací driver a důvod fallbacku pro každou animovanou vlastnost během skutečného běhu.

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

Začíná od prvního snímku

Když úloha, která pohyb spouští, zaměstná hlavní vlákno, například hydratace nebo velký commit, pohyb se po skončení té práce spustí znovu, místo aby se objevil už rozběhnutý. Spuštění na skryté stránce doběhne na pozadí.

Jak byla změřena čísla na úvodní stránce

Každý scénář běžel na nové stránce po jednom zahřátí se třemi zaznamenanými vzorky a uvádí se medián. Čas JavaScriptu je čas strávený v callbackech animation frame během pohybu. Nezahrnuje style, layout a paint, které prohlížeč dělá při každém přístupu, takže to není míra celkového CPU ani snímkové frekvence.

Přehrávání v prohlížeči nedělá layout, paint, compositing ani paměť zadarmo. Měřte skutečnou obrazovku na zařízeních, která podporujete.

ScénářNastaveníVýsledek
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

Hledat

Pište a hledejte v dokumentaci.