Vadovai · 08
Našumas ir grojimas
Kaip Animated išvengia darbo kiekviename kadre, kaip patikrinti, kokį kelią naudoja elementas, ir kaip buvo išmatuoti pagrindinio puslapio skaičiai.
Trys grojimo keliai
Animated kelią pasirenka kiekvienai savybei. API nesikeičia priklausomai nuo kelio.
| Kelias | Kada | Darbas per kadrą |
|---|---|---|
| browser | Baigtinis transform ir opacity judesys Animated.<tag> elementuose, įskaitant spyruokles | Jokio puslapio JavaScript kode |
| css | Tikslios kreivės, kurias naršyklė gali išreikšti bendrais CSS raktiniais kadrais | Jokio puslapio JavaScript kode |
| js | Paprasto stiliaus kintamieji, įvestis, savi skaičiavimai ir sekų ribos | Vienas įrašymas per reikšmę, be React perpiešimo |
Viena reikšmė, daug elementų
hook reikšmės išvestinės yra calc() išraiškos. Su scope vienas kintamojo įrašymas per kadrą valdo kiekvieną konteinerio elementą.
Ruošiamas pavyzdys…
Patikrinkite kelią
inspect(element) tikro vykdymo metu grąžina kiekvienos animuojamos savybės driver ir atsarginio kelio priežastį.
import { inspect } from '@kkwaenggwari/animated';
console.table(inspect(element));
// property driver reason
// transform browser null
// opacity css null
// --level js css-variable-requires-jsPrasideda nuo pirmojo kadro
Kai judesį paleidžianti užduotis užima pagrindinę giją, pavyzdžiui, hidratacija ar didelis commit, judesys paleidžiamas iš naujo, kai tas darbas baigiasi, užuot atrodęs jau pažengęs. Paslėptame puslapyje paleistas judesys baigiamas fone.
Kaip buvo išmatuoti pagrindinio puslapio skaičiai
Kiekvienas scenarijus buvo vykdomas naujame puslapyje po vieno apšilimo, su trimis užfiksuotais pavyzdžiais, pateikiant medianą. JavaScript laikas yra laikas, praleistas animation-frame callback, kol vyksta judesys. Į jį neįeina stilius, išdėstymas ir piešimas, kuriuos naršyklė atlieka kiekvienu atveju, todėl tai nėra viso CPU ar kadrų dažnio matas.
Naršyklės grojimas nepadaro išdėstymo, piešimo, komponavimo ar atminties nemokamų. Matuokite tikrą ekraną įrenginiuose, kuriuos palaikote.
| Scenarijus | Sąranka | Rezultatas |
|---|---|---|
| 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