Hướng dẫn · 08

Hiệu năng và cách phát

Cách Animated tránh công việc ở mỗi khung hình, cách kiểm tra phần tử dùng đường nào, và cách đo các con số trên trang chủ.

Ba đường phát

Animated chọn đường cho từng thuộc tính. API không đổi theo đường.

ĐườngKhi nàoCông việc mỗi khung hình
browserChuyển động transform và opacity có giới hạn trên phần tử Animated.<tag>, kể cả lò xoKhông có trong JavaScript của trang
cssĐường cong chính xác mà trình duyệt biểu diễn được bằng keyframe CSS dùng chungKhông có trong JavaScript của trang
jsBiến style thông thường, đầu vào, phép tính riêng và ranh giới của sequenceMột lần ghi cho mỗi giá trị, không render React

Một giá trị, nhiều phần tử

Các giá trị suy ra từ giá trị hook là biểu thức calc(). Với scope, một lần ghi biến mỗi khung hình điều khiển mọi phần tử trong phần tử chứa.

Đang chuẩn bị ví dụ…

Kiểm tra đường đi

inspect(element) trả về driver và lý do fallback cho từng thuộc tính có hoạt ảnh trong một lần chạy thật.

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

Bắt đầu từ khung hình đầu tiên

Khi tác vụ khởi động chuyển động làm luồng chính bận, như hydrate hay một commit lớn, chuyển động sẽ bắt đầu lại khi công việc đó xong thay vì trông như đã chạy được một đoạn. Chuyển động khởi động trên trang bị ẩn sẽ hoàn tất ở chế độ nền.

Cách đo các con số trên trang chủ

Mỗi kịch bản chạy trên một trang mới sau một lượt khởi động, với ba mẫu được ghi lại và báo giá trị trung vị. Thời gian JavaScript là thời gian nằm trong các callback animation-frame khi chuyển động đang chạy. Nó không gồm style, bố cục và vẽ, những việc trình duyệt làm với mọi cách tiếp cận, nên đây không phải thước đo tổng CPU hay tốc độ khung hình.

Phát bằng trình duyệt không khiến bố cục, vẽ, ghép lớp hay bộ nhớ trở nên miễn phí. Hãy đo màn hình thật trên các thiết bị bạn hỗ trợ.

Kịch bảnThiết lậpKết quả
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

Tìm kiếm

Gõ để tìm trong tài liệu.