Ръководства · 08

Производителност и възпроизвеждане

Как Animated избягва работа на всеки кадър, как да проверите кой път използва елемент и как са измерени числата на началната страница.

Три пътя на възпроизвеждане

Animated избира път за всяко свойство. API не се променя според пътя.

ПътКогаРабота на кадър
browserКрайно движение на transform и opacity при елементите Animated.<tag>, включително пружиниНикаква в JavaScript на страницата
cssТочни криви, които браузърът може да изрази със споделени CSS keyframesНикаква в JavaScript на страницата
jsОбикновени style променливи, вход, собствени изчисления и граници на последователностиЕдин запис на стойност, без рендер на React

Една стойност, много елементи

Производните на стойност на hook са изрази calc(). Със scope един запис на променлива на кадър управлява всички елементи в контейнера.

Подготовка на примера…

Проверка на пътя

inspect(element) връща драйвера и причината за fallback за всяко анимирано свойство по време на реално изпълнение.

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

Започва от първия кадър

Когато задачата, която стартира движение, държи главната нишка заета, например хидратация или голям commit, движението започва отначало след края на тази работа, вместо да се появи вече напреднало. Стартиране на скрита страница завършва във фонов режим.

Как са измерени числата на началната страница

Всеки сценарий е изпълнен на нова страница след едно загряване, с три записани проби; отчита се медианата. Времето на JavaScript е времето в callback-ите на animation frame, докато трае движението. То изключва 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 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

Търсене

Пишете, за да търсите в документацията.