ガイド · 08

パフォーマンスと再生

Animated がフレームごとの処理をどう避けているか、要素がどの経路を使っているかの確かめ方、そしてトップページの数値の計測方法。

3 つの再生経路

Animated はプロパティごとに経路を選びます。経路が変わっても API は変わりません。

経路いつフレームごとの処理
browserAnimated.<tag> 要素での、スプリングを含む有限な transform と opacity のモーションページの JavaScript では何もしない
css共有の CSS キーフレームで表現できる正確なカーブページの JavaScript では何もしない
js普通の style の変数、入力、独自の計算、sequence の境界値ごとに 1 回の書き込み、React レンダリングなし

ひとつの値で多くの要素を

フックの値から導いたものは calc() 式です。scope を使えば、1 フレームに 1 回の変数の書き込みでコンテナー内のすべての要素が動きます。

サンプルを準備中…

経路を確かめる

inspect(element) は、実際の再生中に、アニメーションしている各プロパティのドライバーとフォールバックの理由を返します。

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

最初のフレームから始まる

モーションを開始した処理がハイドレーションや大きなコミットなどでメインスレッドを占有していると、モーションは途中から始まったように見えるのではなく、その処理が終わった時点でやり直されます。非表示のページで開始したモーションはバックグラウンドで完了します。

トップページの数値の計測方法

各シナリオは新しいページで、ウォームアップ 1 回の後に 3 回計測し、その中央値を示しています。JavaScript の時間は、モーションの再生中にアニメーションフレームのコールバック内で費やされた時間です。スタイル計算、レイアウト、ペイントはどの方法でもブラウザーが行うため含めておらず、CPU 全体の負荷やフレームレートの指標ではありません。

ブラウザー再生でレイアウト、ペイント、コンポジット、メモリのコストがなくなるわけではありません。サポートするデバイスで実際の画面を計測してください。

シナリオ条件結果
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

検索

入力するとドキュメントを検索します。