Guider · 08

Prestanda och uppspelning

Hur Animated undviker arbete varje bildruta, hur du kontrollerar vilken väg ett element använder och hur siffrorna på startsidan mättes.

Tre uppspelningsvägar

Animated väljer en väg per egenskap. API:t ändras inte med vägen.

VägNärArbete per bildruta
browserÄndlig transform- och opacity-rörelse på Animated.<tag>-element, fjädrar inräknadeInget i sidans JavaScript
cssExakta kurvor som webbläsaren kan uttrycka med delade CSS-keyframesInget i sidans JavaScript
jsVanliga style-variabler, inmatning, egna beräkningar och sekvensgränserEn skrivning per värde, ingen React-rendering

Ett värde, många element

Härledningar av ett hookvärde är calc()-uttryck. Med scope styr en variabelskrivning per bildruta varje element i containern.

Förbereder exemplet…

Kontrollera vägen

inspect(element) returnerar drivern och fallback-orsaken för varje animerad egenskap under en riktig körning.

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

Startar från första bildrutan

När uppgiften som startar en rörelse håller huvudtråden upptagen, som hydrering eller en stor commit, startar rörelsen om när det arbetet är klart i stället för att se redan påbörjad ut. En start på en dold sida slutförs i bakgrunden.

Så mättes siffrorna på startsidan

Varje scenario kördes på en ny sida efter en uppvärmning, med tre registrerade mätningar, och medianen redovisas. JavaScript-tid är tiden i animation frame-callbacks medan rörelsen pågår. Den utesluter style, layout och paint, som webbläsaren gör med alla metoder, så den är inget mått på total CPU eller bildfrekvens.

Webbläsaruppspelning gör inte layout, paint, compositing eller minne gratis. Mät den riktiga skärmen på de enheter du stöder.

ScenarioUppställningResultat
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ök

Skriv för att söka i dokumentationen.