الأدلة · 08
الأداء والتشغيل
كيف يتجنّب Animated العمل في كل إطار، وكيف تتحقق من المسار الذي يستخدمه عنصر، وكيف قيست أرقام الصفحة الرئيسية.
ثلاثة مسارات للتشغيل
يختار Animated مسارًا لكل خاصية. ولا تتغيّر API بتغيّر المسار.
| المسار | متى | العمل لكل إطار |
|---|---|---|
| browser | الحركة المحدودة لـ transform وopacity على عناصر Animated.<tag>، بما فيها النوابض | لا شيء في JavaScript الصفحة |
| css | منحنيات دقيقة يستطيع المتصفح التعبير عنها بإطارات CSS مفتاحية مشتركة | لا شيء في JavaScript الصفحة |
| js | متغيّرات style العادية، والإدخال، والحسابات المخصّصة، وحدود التسلسلات | كتابة واحدة لكل قيمة، من دون عرض React |
قيمة واحدة، عناصر كثيرة
مشتقات قيمة الخطّاف تعبيرات calc(). ومع scope تقود كتابة متغيّر واحدة لكل إطار كل عنصر في الحاوية.
جارٍ تجهيز المثال…
تحقّق من المسار
يعيد inspect(element) المشغّل وسبب fallback لكل خاصية متحركة أثناء تشغيل حقيقي.
import { inspect } from '@kkwaenggwari/animated';
console.table(inspect(element));
// property driver reason
// transform browser null
// opacity css null
// --level js css-variable-requires-jsيبدأ من الإطار الأول
حين تشغل المهمة التي تبدأ الحركة الخيط الرئيسي، كالإماهة أو اعتماد كبير، تُعاد الحركة من البداية بعد انتهاء ذلك العمل بدل أن تظهر متقدمة. والبدء على صفحة مخفية ينتهي في الخلفية.
كيف قيست أرقام الصفحة الرئيسية
شُغّل كل سيناريو في صفحة جديدة بعد إحماء واحد، مع ثلاث عيّنات مسجّلة، ويُذكر الوسيط. زمن JavaScript هو الوقت المستغرق داخل استدعاءات animation frame أثناء الحركة. ولا يشمل style وlayout وpaint التي يؤديها المتصفح مع أي نهج، فهو ليس مقياسًا لإجمالي CPU أو معدّل الإطارات.
التشغيل في المتصفح لا يجعل layout وpaint وcompositing والذاكرة مجانية. قِس الشاشة الحقيقية على الأجهزة التي تدعمها.
| السيناريو | الإعداد | النتيجة |
|---|---|---|
| 400 Animated.div elements move translateX and fade in (timing, 1800 ms) | seed/pose/tempo on Animated.div; 800 browser animations | 0.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 element | 0.13 ms |
2026-09-28 · Chrome 153.0.8010.52 (headless) · Windows_NT x64 · Intel(R) Core(TM) i7-14700K