గైడ్లు · 08
పనితీరు, ప్లేబ్యాక్
Animated ఫ్రేమ్కు పనిని ఎలా నివారిస్తుంది, ఒక ఎలిమెంట్ ఏ మార్గాన్ని వాడుతుందో ఎలా తనిఖీ చేయాలి, హోమ్ పేజీ సంఖ్యలు ఎలా కొలవబడ్డాయి.
మూడు ప్లేబ్యాక్ మార్గాలు
Animated ప్రతి ప్రాపర్టీకి ఒక మార్గాన్ని ఎంచుకుంటుంది. మార్గంతో API మారదు.
| మార్గం | ఎప్పుడు | ఫ్రేమ్కు పని |
|---|---|---|
| browser | Animated.<tag> ఎలిమెంట్లపై పరిమిత transform, opacity మోషన్, spring-లతో సహా | పేజీ JavaScript-లో ఏదీ లేదు |
| css | పంచుకున్న CSS keyframesతో బ్రౌజర్ వ్యక్తీకరించగల ఖచ్చితమైన వక్రాలు | పేజీ JavaScript-లో ఏదీ లేదు |
| js | సాధారణ style వేరియబుల్లు, ఇన్పుట్, కస్టమ్ గణన, sequence సరిహద్దులు | విలువకు ఒక రాత, React రెండర్ లేదు |
ఒకే విలువ, అనేక ఎలిమెంట్లు
హుక్ విలువ యొక్క ఉత్పన్నాలు calc() వ్యక్తీకరణలు. scopeతో, ఫ్రేమ్కు ఒకే వేరియబుల్ రాత కంటైనర్లోని ప్రతి ఎలిమెంట్ను నడిపిస్తుంది.
ఉదాహరణ సిద్ధమవుతోంది…
మార్గాన్ని తనిఖీ చేయండి
inspect(element) నిజమైన రన్ సమయంలో ప్రతి యానిమేటెడ్ ప్రాపర్టీకి driver, fallback కారణాన్ని ఇస్తుంది.
import { inspect } from '@kkwaenggwari/animated';
console.table(inspect(element));
// property driver reason
// transform browser null
// opacity css null
// --level js css-variable-requires-jsమొదటి ఫ్రేమ్ నుండే ప్రారంభమవుతుంది
మోషన్ను ప్రారంభించే పని — hydration లేదా పెద్ద commit వంటివి — main thread-ను బిజీగా ఉంచినప్పుడు, ఇప్పటికే ముందుకు వెళ్లినట్లు కనిపించకుండా, ఆ పని ముగిసిన తర్వాత మోషన్ మళ్లీ ప్రారంభమవుతుంది. దాచిన పేజీలో ప్రారంభమైనది నేపథ్యంలో ముగుస్తుంది.
హోమ్ పేజీ సంఖ్యలు ఎలా కొలవబడ్డాయి
ప్రతి సందర్భం ఒక వార్మ్-అప్ తర్వాత కొత్త పేజీలో నడిచింది; మూడు నమూనాలు నమోదు చేసి మధ్యస్థ విలువ నివేదించబడింది. JavaScript సమయం అంటే మోషన్ నడుస్తున్నప్పుడు animation-frame callback-ల లోపల గడిపిన సమయం. ప్రతి విధానానికి బ్రౌజర్ చేసే style, layout, paint ఇందులో లేవు; అందువల్ల ఇది మొత్తం CPU లేదా ఫ్రేమ్ రేటు కొలత కాదు.
బ్రౌజర్ ప్లేబ్యాక్ layout, paint, compositing లేదా మెమరీని ఉచితం చేయదు. మీరు మద్దతు ఇచ్చే పరికరాలపై నిజమైన స్క్రీన్ను కొలవండి.
| సందర్భం | సెటప్ | ఫలితం |
|---|---|---|
| 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