Vodiči · 08

Performanse i reprodukcija

Kako Animated izbjegava posao u svakom kadru, kako provjeriti koji put element koristi i kako su izmjereni brojevi na početnoj stranici.

Tri puta reprodukcije

Animated bira put za svako svojstvo. API se ne mijenja s putem.

PutKadaPosao po kadru
browserKonačni pokret transforma i opacityja na elementima Animated.<tag>, uključujući oprugeNikakav u JavaScriptu stranice
cssTočne krivulje koje preglednik može izraziti dijeljenim CSS keyframesNikakav u JavaScriptu stranice
jsObične style varijable, unos, vlastiti izračuni i granice sekvenciJedan zapis po vrijednosti, bez Reactova renderiranja

Jedna vrijednost, mnogo elemenata

Izvedenice vrijednosti hooka su izrazi calc(). Sa scope jedan zapis varijable po kadru upravlja svim elementima u spremniku.

Priprema primjera…

Provjera puta

inspect(element) vraća driver i razlog fallbacka za svako animirano svojstvo tijekom stvarnog izvođenja.

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

Počinje od prvog kadra

Kad zadatak koji pokreće pokret zauzme glavnu nit, primjerice hidratacija ili velik commit, pokret se ponovno pokreće nakon što taj posao završi umjesto da se pojavi već odmaknut. Pokretanje na skrivenoj stranici završava u pozadini.

Kako su izmjereni brojevi na početnoj stranici

Svaki scenarij pokrenut je na svježoj stranici nakon jednog zagrijavanja, s tri zabilježena uzorka, a navodi se medijan. Vrijeme JavaScripta je vrijeme provedeno u callbackovima animation framea dok pokret traje. Isključuje style, layout i paint, koje preglednik obavlja uz svaki pristup, pa nije mjera ukupnog CPU-a ni broja kadrova.

Reprodukcija u pregledniku ne čini layout, paint, compositing ni memoriju besplatnima. Mjerite stvarni zaslon na uređajima koje podržavate.

ScenarijPostavkaRezultat
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

Pretraži

Tipkajte za pretraživanje dokumentacije.