Guías · 08

Rendimiento y reproducción

Cómo evita Animated trabajo en cada fotograma, cómo comprobar qué camino usa un elemento y cómo se midieron las cifras de la portada.

Tres caminos de reproducción

Animated elige un camino por propiedad. La API no cambia según el camino.

CaminoCuándoTrabajo por fotograma
browserMovimiento finito de transform y opacity en elementos Animated.<tag>, resortes incluidosNinguno en el JavaScript de la página
cssCurvas exactas que el navegador puede expresar con keyframes CSS compartidosNinguno en el JavaScript de la página
jsVariables de style normales, entrada, cálculos propios y límites de sequenceUna escritura por valor, sin render de React

Un valor, muchos elementos

Las derivaciones de un valor de hook son expresiones calc(). Con scope, una escritura de variable por fotograma mueve todos los elementos del contenedor.

Preparando el ejemplo…

Comprueba el camino

inspect(element) devuelve el driver y el motivo de fallback de cada propiedad animada durante una ejecución 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

Empieza desde el primer fotograma

Cuando la tarea que inicia un movimiento mantiene ocupado el hilo principal, como la hidratación o un commit grande, el movimiento se reinicia en cuanto termina ese trabajo en lugar de aparecer ya avanzado. Un inicio en una página oculta termina en segundo plano.

Cómo se midieron las cifras de la portada

Cada escenario se ejecutó en una página nueva tras un calentamiento, con tres muestras registradas, y se informa la mediana. El tiempo de JavaScript es el que se pasa dentro de los callbacks de animation frame mientras dura el movimiento. Excluye el estilo, el layout y el pintado, que el navegador hace con cualquier enfoque, así que no mide la CPU total ni la tasa de fotogramas.

La reproducción en el navegador no hace gratis el layout, el pintado, la composición ni la memoria. Mide la pantalla real en los dispositivos que soportas.

EscenarioConfiguraciónResultado
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

Buscar

Escribe para buscar en la documentación.