يمكن أن تعمل الرسوم المتحركة على الويب على تحسين تجربة المستخدم بشكل كبير ولكنها يمكن أن تؤثر أيضًا على أداء موقع الويب إذا لم يتم تنفيذها بعناية. في هذه المقالة، سأقارن بين ثلاث طرق مختلفة لتحريك عنصر دائرة ينبض في الحجم. سأستخدم CSS، وجافا سكريبت غير المحسّنة، وجافا سكريبت المحسّنة، وسأوضح لك كيفية قياس أدائها باستخدام Chrome DevTools.
تعد الرسوم المتحركة جزءًا أساسيًا من تصميم الويب الحديث. يمكن تنفيذها باستخدام طرق مختلفة، الأكثر شيوعًا باستخدام CSS أو JavaScript فقط. ومع ذلك، ليس كل أسلوب يؤدي بشكل جيد على قدم المساواة. ولإثبات ذلك، قررت اختبار ثلاثة أساليب مختلفة:
المشروع متاح على GitHub. يمكنك تنزيله وتجربته بسهولة.
استنساخ git https://github.com/TomasDevs/animation-performance-test.git
اختبار أداء الرسوم المتحركة على القرص المضغوط
بمجرد تنزيله، تحقق من المجلدات css-animation، js-animation-optimized، و js-animation-unoptimized.
جرب المشروع على GitHub
لقياس الأداء، استخدمت لوحة الأداء الخاصة بـ Chrome DevTools. تم تشغيل كل رسم متحرك لمدة 10 ثوانٍ.
المصدر: تم الإنشاء بواسطة TomasDevs (2024)
ملحوظات:
تميل الرسوم المتحركة لـ CSS إلى الأداء بشكل أفضل لأنه يتم إلغاء تحميلها إلى محرك العرض الأصلي للمتصفح، خاصة عند العمل مع خصائص مثل التحويل أو العتامة. تتميز هذه الرسوم المتحركة بكفاءة عالية مع تأثير ضئيل على أوقات البرمجة النصية والعرض.
المصدر: تم الإنشاء بواسطة TomasDevs (2024)
ملحوظات:
يستخدم إصدار JS المُحسّن requestAnimationFrame ووظيفة موجة جيبية سلسة لإدارة الرسوم المتحركة. على الرغم من أنها تتطلب وقتًا أطول في البرمجة النصية مقارنة برسوم CSS المتحركة، إلا أنها لا تزال تعمل بكفاءة إلى حد ما وتحافظ على انخفاض أوقات العرض والرسم.
المصدر: تم الإنشاء بواسطة TomasDevs (2024)
ملحوظات:
يستخدم إصدار JS غير المُحسّن حلقة بسيطة دون مراعاة تقدم التوقيت. يؤدي هذا إلى أوقات أطول بكثير في البرمجة النصية والعرض والرسم بسبب الحسابات غير الفعالة لكل إطار من الرسوم المتحركة.
ما هي تجاربك مع تحسين الرسوم المتحركة على الويب؟ هل لديك أي نصائح أو حيل إضافية لتعزيز الأداء؟ اسمحوا لي أن أعرف في التعليقات أدناه!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3