Guias · 08

Desempenho e reprodução

Como o Animated evita trabalho a cada quadro, como conferir qual caminho um elemento usa e como os números da página inicial foram medidos.

Três caminhos de reprodução

O Animated escolhe um caminho por propriedade. A API não muda com o caminho.

CaminhoQuandoTrabalho por quadro
browserMovimento finito de transform e opacity em elementos Animated.<tag>, molas incluídasNenhum no JavaScript da página
cssCurvas exatas que o navegador consegue expressar com keyframes CSS compartilhadosNenhum no JavaScript da página
jsVariáveis de style comuns, entrada, cálculos próprios e limites de sequenceUma gravação por valor, sem render do React

Um valor, muitos elementos

As derivações de um valor de hook são expressões calc(). Com scope, uma gravação de variável por quadro move todos os elementos do contêiner.

Preparando o exemplo…

Confira o caminho

inspect(element) retorna o driver e o motivo do fallback de cada propriedade animada durante uma execução real.

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

Começa no primeiro quadro

Quando a tarefa que inicia um movimento mantém a thread principal ocupada, como a hidratação ou um commit grande, o movimento recomeça assim que esse trabalho termina, em vez de aparecer já adiantado. Um início em uma página oculta termina em segundo plano.

Como os números da página inicial foram medidos

Cada cenário rodou em uma página nova depois de um aquecimento, com três amostras registradas, e informamos a mediana. O tempo de JavaScript é o tempo gasto dentro dos callbacks de animation frame enquanto o movimento roda. Ele não inclui estilo, layout e pintura, que o navegador faz em qualquer abordagem, então não mede a CPU total nem a taxa de quadros.

A reprodução no navegador não torna layout, pintura, composição ou memória gratuitos. Meça a tela real nos dispositivos que você suporta.

CenárioConfiguraçãoResultado
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

Pesquisar

Digite para pesquisar na documentação.