مقاييس الأداء بالمقارنة مع جهات مماثلة

مقاييس الأداء للأبطال هي مجموعة من مقاييس الأداء التي تغطي رحلات المستخدمين على مستوى عالٍ في التطبيق، مثل بدء تشغيل التطبيق أو التمرير في تطبيق Pokedex المفتوح المصدر.

  • مقاييس الأداء للأبطال عند بدء التشغيل: تتبُّع الوقت المستغرَق من فتح التطبيق إلى عرض المحتوى
  • مقاييس الأداء للأبطال عند التمرير: قياس أداء التمرير في شبكة ذات تحميل مؤجّل تتضمّن صورًا

إعداد الاختبار

  • اختيار التطبيق: أجرينا هذه الاختبارات باستخدام تطبيق Pokedex المفتوح المصدر، وقارنّا بين الإصدارَين المستند إلى طريقة العرض والإصدار المستند إلى Compose. تم اختيار التطبيق لتمثيل سيناريوهات واقعية، ولم يتم تطويره من قِبل فريق Compose.
  • إعداد الأجهزة: أجرينا مقاييس الأداء على هاتف Pixel 3a يعمل بنظام التشغيل Android 12 (مستوى واجهة برمجة التطبيقات 31) مع وحدات معالجة مركزية ووحدات معالجة رسومات مقفلة. يُستخدَم هذا الجهاز كخط أساس معياري للأداء في مقاييس الأداء للأبطال.
  • إعداد الإصدار: تستخدِم مقاييس الأداء التطبيق الذي تم إنشاؤه في وضع الإصدار مع تفعيل أداة R8 enabled. تم تجميع التطبيق مسبقًا بالكامل للحدّ من عدم الاستقرار الناتج عن التجميع في الوقت المناسب (JIT).
  • اختيار النتائج: لضمان إجراء تحليل في أسوأ الحالات، تم استبعاد القيم المتطرّفة غير الممثلة و الضوضاء غير الممثلة من نتائج مقياس الأداء. تم بعد ذلك وضع خط أساس من خلال اختيار القيم المتوسطة لبيانات الأداء ذات الحدّ الأعلى

مقاييس الأداء للأبطال عند بدء التشغيل

لقياس بدء التشغيل، استخدَمنا PokedexStartupBenchmark. يقيس PokedexStartupBenchmark الوقت المستغرَق حتى يصبح تطبيق Pokedex مرئيًا للمستخدم.

يمكن أن يتم إطلاق التطبيق في إحدى الحالات الـ ثلاث: تشغيل على البارد أو إعادة تشغيل بطيء، أو إعادة تشغيل سريع. تؤثر كل حالة في المدة التي يستغرقها ظهور التطبيق للمستخدم. في التشغيل على البارد، يبدأ التطبيق من نقطة الصفر. في مقياس الأداء هذا، نقيس أداء إطلاق التطبيق في حالة التشغيل على البارد. ننصحك دائمًا بتحسين التطبيق استنادًا إلى افتراض تشغيل على البارد. يمكن أن يؤدي ذلك أيضًا إلى تحسين أداء بدء التشغيل الدافئ والسريع.

المقاييس التي نستخدمها لقياس وقت بدء تشغيل التطبيق هي وقت العرض الأولي ووقت العرض الكامل.

وقت العرض الأولي

يقيس وقت العرض الأولي (TTID) الوقت المستغرَق حتى يعرض التطبيق الإطار الأول، بما في ذلك تهيئة العملية أثناء التشغيل على البارد وإنشاء النشاط أثناء التشغيل على البارد أو إعادة التشغيل بطيء وعرض الإطار الأول.

في PokedexStartupBenchmark، يكون Compose 1.11 أبطأ بنسبة% 2.5 من طريقة العرض في وقت العرض الأولي عند التشغيل على البارد.

يستغرق الإصدار 1.11 من Compose وقتًا أطول بنسبة% 2.5 من "طريقة العرض" لعرض المحتوى التفاعلي
الشكل 1: مقارنة Compose 1.11 بطريقة العرض في وقت العرض الأولي

وقت العرض الكامل

يقيس وقت العرض الكامل (TTFD) الوقت المستغرَق حتى يصبح التطبيق تفاعليًا. يعني ذلك أنّه تم تحميل جميع البيانات وعرضها. لمزيد من المعلومات عن وقت العرض الكامل، يُرجى الاطّلاع على وقت بدء تشغيل التطبيق.

في PokedexStartupBenchmark، يكون Compose 1.11 أبطأ بنسبة% 13.0 من طريقة العرض في وقت العرض الكامل عند تشغيل على البارد.

يستغرق الإصدار 1.11 من Compose وقتًا أطول بنسبة% 13.0 من وقت عرض Views حتى يتم عرض أول إطار
الشكل 2: مقارنة Compose 1.11 بطريقة العرض في وقت العرض الكامل

مقاييس الأداء للأبطال عند التمرير

لقياس أداء التمرير، استخدَمنا PokedexScrollBenchmark. يقيس هذا المقياس أداء التمرير في شاشة تطبيق Pokedex لشبكة ذات تحميل مؤجّل تتضمّن صورًا. في مقياس الأداء هذا، يتم التمرير في الشاشة بأكملها وإزاحتها عدة مرات ويتم تحميل عناصر جديدة. يتم قياس أداء التمرير من خلال معدّل التقطّع.

معدّل التقطّع

تعرض أجهزة Android ما يصل إلى 60 أو 120 إطارًا في الثانية. يعني ذلك أنّ النظام لديه مهلة صارمة (على سبيل المثال، 16.6 ملي ثانية لـ 60 إطارًا في الثانية) لإنشاء إطار. إذا استغرق التطبيق وقتًا طويلاً جدًا لإنجاز عمله، يمكن أن يؤدي ذلك إلى حدوث تقطّع مرئي نسمّيه إيقاف مؤقت لعرض واجهة المستخدم.

في PokedexScrollBenchmark، يحقّق كلّ من Compose وطريقة العرض الأداء نفسه بمعدّل تقطّع% 0.21 منذ Compose 1.9.0. بالأرقام المطلقة، كان إطار واحد من أصل 485 إطارًا متقطّعًا.

توضّح مقاييس الأداء هذه أنّ Compose 1.9 والإصدارات الأحدث تتطابق مع أداء طريقة العرض في ما يتعلق بالتقطّع أثناء التمرير.

منذ الإصدار 1.9.0 من Compose، أصبح معدّل إيقاف مؤقت لعرض واجهة المستخدم في Compose هو نفسه في Views
منذ Compose 1.9.0، يتطابق معدّل إيقاف مؤقت لعرض واجهة المستخدم في كلّ من Compose وطريقة العرض.

تشغيل مقاييس الأداء للأبطال

للتحقّق من نتائج الأداء وتشغيل مقاييس الأداء محليًا:

  1. اتّبِع دليل AndroidX للاطّلاع على رمز المصدر.
  2. اتّبِع التعليمات الواردة في رمز المصدر لمقاييس الأداء للأبطال.

يمكنك تشغيل مقاييس الأداء هذه على أي جهاز متوافق، مثل جهاز معيّن تعمل على تحسين تطبيقك من أجله. ومع ذلك، للتحقّق من النتائج الرسمية، استخدِم إعداد الأجهزة نفسه.