من أصعب المشاكل التي يواجهها مطوّرو التطبيقات هي إنشاء رسوم متحركة سلسة وخالية من الأخطاء. وقد يكون من الصعب بشكل خاص تصحيح الأخطاء عندما ينفّذ النظام أيضًا مهامًا في الخلفية تستهلك الكثير من الموارد. قد يكون من الصعب تحديد ما إذا كان الخلل ناتجًا عن تطبيقك أو النظام. ومع ذلك، يمكن أن تساعدك أداة تحليل الأداء في تحديد المصدر المحتمل للسلوك السيئ.
العرض على ChromeOS
يستخدم التطبيق المضبوط بدقة، مثل اللعبة، عادةً التخزين المؤقت المزدوج للحفاظ على وقت استجابة المستخدم منخفضًا قدر الإمكان. ومع ذلك، يمكن أن يؤدي العديد من العوامل إلى تدهور الأداء. على سبيل المثال، إذا استغرق عرض إطار وقتًا طويلاً جدًا، لن تكون النتيجة المعروضة جاهزة لتبديل المخزن المؤقت التالي، وسيتكرّر الإطار السابق.
بعد ذلك، لا يمكن لبرنامج العرض بدء عرض الإطار التالي، ما يؤدي إلى حدوث المزيد من المشاكل. هذا السيناريو مألوف لمطوّري تطبيقات Android للأجهزة الجوّالة. عندما يتم تشغيل تطبيق على ChromeOS، يصبح السياق أكثر تعقيدًا.
لا يتم عرض التطبيق الذي يتم تشغيله على الكمبيوتر المكتبي مباشرةً في إطار عرض الشاشة. بدلاً من ذلك، يتم عرض بياناتها في صورة نسيج. عادةً ما تكون هناك تطبيقات متعددة، يعرض كل منها الرسومات في نسيج. ينشئ النظام طريقة العرض على الشاشة باستخدام برنامج تجميع لدمج كل الصور في صورة واحدة لسطح المكتب.
يعمل Compositor بشكل غير مرئي في الخلفية، ولكنّه يؤدي إلى تأخير زمني بمقدار لقطة واحدة لتحقيق أقصى استفادة من مسار وحدة معالجة الرسومات. يؤدي هذا التأخير إلى تلطيف تقلبات أداء النظام ويساعد في تحقيق التوازن بين الأحمال غير المتماثلة.
عندما يكون نظام التشغيل مشغولاً، يمكن أن يتم الضغط على وحدة معالجة الرسومات، ما يؤدي إلى تأخير بين وقت عرض إطار ووقت ظهوره على الشاشة. قد يستخدم النظام التخزين المؤقت الرباعي للتعويض، وذلك حسب الجهاز. وحتى مع التخزين المؤقت الأعمق، قد تحدث أخطاء في مسار الرسومات.
أداة تتبُّع رسومات ARC
يتضمّن ChromeOS أداة لإنشاء ملفات تعريف تعرض كيفية انتقال المخازن المؤقتة عبر النظام، ووقت حدوث عمليات تبديل الذاكرة، ومدى انشغال وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU)، وما يفعله تطبيقك في وقت معيّن، كما هو موضّح في الصورة التالية:
إعداد أداة تحليل الأداء
لاستخدام أداة تحليل الأداء، يجب تشغيل الإصدار 75 أو إصدار أحدث. للحصول على أفضل النتائج، استخدِم جهاز Intel.
قبل استخدام أداة Profiler، عليك إدخال بيانات التتبُّع في تطبيقك.
أضِف Trace.traceCounter(Trace.TRACE_TAG_GRAPHICS, "Event", <number>); إلى الرمز البرمجي
في أي مكان تريد تضمين عملية تتبُّع فيه. استخدِم Event يبدأ بالبادئة customTrace. لا يظهر البادئة في رسالة التتبُّع.
لإعداد أداة Profiler، اتّبِع الخطوات التالية:
- فعِّل "وضع مطوّر البرامج".
- فعِّل إعدادات Chrome وأداة عرض مخازن مؤقتة لرسومات ARC.
- الانتقال إلى
chrome://arc-graphics-tracing
تشغيل أداة تحليل الأداء
- انقر على إيقاف عند حدوث خلل.
- شغِّل تطبيق Android.
- عندما يكون تطبيق Android نشطًا ومحدّدًا، اضغط على
Control+Shift+G.
عند حدوث خلل، تظهر نافذة متصفّح. استخدِم المفتاحَين W وS لتكبير المخطط الزمني وتصغيره.