Útmutatók · 08
Teljesítmény és lejátszás
Hogyan kerüli el az Animated a képkockánkénti munkát, hogyan ellenőrizheti, melyik utat használja egy elem, és hogyan mértük a kezdőlap számait.
Három lejátszási út
Az Animated tulajdonságonként választ utat. Az API nem változik az út szerint.
| Út | Mikor | Képkockánkénti munka |
|---|---|---|
| browser | Véges transform- és opacity-mozgás Animated.<tag> elemeken, rugókkal együtt | Semmi az oldal JavaScript-kódjában |
| css | Pontos görbék, amelyeket a böngésző közös CSS-kulcskockákkal ki tud fejezni | Semmi az oldal JavaScript-kódjában |
| js | Sima stílusváltozók, bemenet, saját számítás és szekvenciahatárok | Értékenként egy írás, React-renderelés nélkül |
Egy érték, sok elem
Egy hookérték származékai calc() kifejezések. A scope használatakor képkockánként egyetlen változóírás vezérli a tárolóelem összes elemét.
A példa előkészítése…
Ellenőrizze az utat
Az inspect(element) valódi futás közben minden animált tulajdonság driverét és tartalékútvonal-okát visszaadja.
import { inspect } from '@kkwaenggwari/animated';
console.table(inspect(element));
// property driver reason
// transform browser null
// opacity css null
// --level js css-variable-requires-jsAz első képkockától indul
Ha a mozgást indító feladat lefoglalja a fő szálat, például hidratálás vagy egy nagy commit, a mozgás a munka végeztével újraindul, ahelyett hogy már előrehaladottnak tűnne. Rejtett oldalon indított mozgás a háttérben fejeződik be.
Hogyan mértük a kezdőlap számait
Minden forgatókönyv friss oldalon futott egy bemelegítés után, három rögzített mintával, és a mediánt közöljük. A JavaScript-idő a mozgás közben az animation-frame callbackekben töltött idő. Nem tartalmazza a stílust, az elrendezést és a festést, amelyeket a böngésző minden megközelítésnél elvégez, ezért nem a teljes CPU vagy a képkockasebesség mérőszáma.
A böngészős lejátszás nem teszi ingyenessé az elrendezést, a festést, a kompozitálást vagy a memóriát. Mérje a valódi képernyőt a támogatott eszközökön.
| Forgatókönyv | Beállítás | Eredmény |
|---|---|---|
| 400 Animated.div elements move translateX and fade in (timing, 1800 ms) | seed/pose/tempo on Animated.div; 800 browser animations | 0.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 element | 0.13 ms |
2026-09-28 · Chrome 153.0.8010.52 (headless) · Windows_NT x64 · Intel(R) Core(TM) i7-14700K