Guides · 08

Ydeevne og afspilning

Hvordan Animated undgår arbejde i hver frame, hvordan du tjekker, hvilken vej et element bruger, og hvordan tallene på forsiden blev målt.

Tre afspilningsveje

Animated vælger en vej pr. egenskab. API'et ændrer sig ikke med vejen.

VejHvornårArbejde pr. frame
browserEndelig transform- og opacity-bevægelse på Animated.<tag>-elementer, fjedre inklusiveIntet i sidens JavaScript
cssEksakte kurver, som browseren kan udtrykke med delte CSS-keyframesIntet i sidens JavaScript
jsAlmindelige style-variabler, input, egne beregninger og sekvensgrænserÉn skrivning pr. værdi, ingen React-rendering

Én værdi, mange elementer

Afledninger af en hook-værdi er calc()-udtryk. Med scope styrer én variabelskrivning pr. frame alle elementer i containeren.

Forbereder eksemplet…

Tjek vejen

inspect(element) returnerer driveren og fallback-årsagen for hver animeret egenskab under en rigtig kørsel.

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

Starter fra første frame

Når opgaven, der starter en bevægelse, holder hovedtråden optaget, som hydrering eller en stor commit, starter bevægelsen forfra, når det arbejde er færdigt, i stedet for at se allerede fremskreden ud. En start på en skjult side gøres færdig i baggrunden.

Sådan blev tallene på forsiden målt

Hvert scenarie kørte på en frisk side efter én opvarmning med tre registrerede målinger, og medianen rapporteres. JavaScript-tid er tiden i animation frame-callbacks, mens bevægelsen kører. Den udelader style, layout og paint, som browseren udfører med enhver tilgang, så den er ikke et mål for samlet CPU eller billedhastighed.

Browserafspilning gør ikke layout, paint, compositing eller hukommelse gratis. Mål den rigtige skærm på de enheder, du understøtter.

ScenarieOpsætningResultat
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

Søg

Skriv for at søge i dokumentationen.