Guides · 08

Performance et lecture

Comment Animated évite le travail à chaque image, comment vérifier le chemin qu’emprunte un élément, et comment les chiffres de l’accueil ont été mesurés.

Trois chemins de lecture

Animated choisit un chemin par propriété. L’API ne change pas selon le chemin.

CheminQuandTravail par image
browserMouvements finis de transform et opacity sur les éléments Animated.<tag>, ressorts comprisAucun dans le JavaScript de la page
cssCourbes exactes que le navigateur peut exprimer avec des keyframes CSS partagéesAucun dans le JavaScript de la page
jsVariables de style ordinaires, entrées, calculs personnalisés et limites de sequenceUne écriture par valeur, aucun rendu React

Une valeur, de nombreux éléments

Les dérivations d’une valeur de hook sont des expressions calc(). Avec scope, une écriture de variable par image anime tous les éléments du conteneur.

Préparation de l’exemple…

Vérifier le chemin

inspect(element) renvoie le driver et la raison du repli pour chaque propriété animée, pendant une exécution réelle.

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

Démarre dès la première image

Quand la tâche qui lance un mouvement occupe le thread principal, comme l’hydratation ou un gros commit, le mouvement redémarre une fois ce travail terminé au lieu d’apparaître déjà avancé. Un démarrage sur une page masquée se termine en arrière-plan.

Comment les chiffres de l’accueil ont été mesurés

Chaque scénario a été exécuté dans une page neuve après un échauffement, avec trois échantillons enregistrés, dont on rapporte la médiane. Le temps JavaScript est le temps passé dans les callbacks d’animation frame pendant le mouvement. Il exclut le style, la mise en page et le rendu, que le navigateur effectue quelle que soit l’approche : ce n’est donc pas une mesure du CPU total ni de la fréquence d’images.

La lecture par le navigateur ne rend pas gratuits la mise en page, le rendu, la composition ni la mémoire. Mesurez l’écran réel sur les appareils que vous prenez en charge.

ScénarioConfigurationRésultat
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

Rechercher

Tapez pour rechercher dans la documentation.