Oppaat · 08

Suorituskyky ja toisto

Miten Animated välttää työn joka ruudussa, miten tarkistat elementin käyttämän polun ja miten etusivun luvut mitattiin.

Kolme toistopolkua

Animated valitsee polun ominaisuuskohtaisesti. API ei muutu polun mukana.

PolkuMilloinTyö ruutua kohden
browserÄärellinen transform- ja opacity-liike Animated.<tag>-elementeissä, jouset mukaan lukienEi mitään sivun JavaScriptissä
cssTarkat käyrät, jotka selain voi ilmaista jaetuilla CSS-avainruuduillaEi mitään sivun JavaScriptissä
jsTavallisen tyylin muuttujat, syöte, omat laskelmat ja sekvenssien rajatYksi kirjoitus arvoa kohden, ei React-renderöintiä

Yksi arvo, monta elementtiä

Hookin arvon johdannaiset ovat calc()-lausekkeita. scope-asetuksella yksi muuttujan kirjoitus ruutua kohden ohjaa jokaista säiliön elementtiä.

Valmistellaan esimerkkiä…

Tarkista polku

inspect(element) palauttaa jokaisen animoidun ominaisuuden driverin ja varapolun syyn todellisen ajon aikana.

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

Alkaa ensimmäisestä ruudusta

Kun liikkeen käynnistävä tehtävä pitää pääsäikeen kiireisenä, kuten hydraatio tai suuri commit, liike käynnistyy uudelleen tuon työn päätyttyä sen sijaan, että näyttäisi jo edenneeltä. Piilotetulla sivulla käynnistetty liike päättyy taustalla.

Miten etusivun luvut mitattiin

Jokainen skenaario ajettiin uudella sivulla yhden lämmittelyn jälkeen kolmella tallennetulla näytteellä, ja raportoitu arvo on mediaani. JavaScript-aika on aika, joka kuluu animation-frame-callbackeissa liikkeen aikana. Siihen eivät kuulu tyyli, asettelu ja piirto, jotka selain tekee jokaisessa lähestymistavassa, joten se ei mittaa kokonais-CPU:ta tai ruudunpäivitysnopeutta.

Selaintoisto ei tee asettelusta, piirrosta, koostamisesta tai muistista ilmaista. Mittaa todellinen näkymä tukemillasi laitteilla.

SkenaarioKokoonpanoTulos
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

Haku

Kirjoita hakeaksesi dokumentaatiosta.