تحديد مواصفات الأداء

إنّ تحديد مواصفات الأداء وتحسينه مهمة معقّدة قد تبدو أقرب إلى الفن منها إلى العلم. إنّ الأجزاء المتحركة العديدة التي يجب أن تتم مزامنتها بشكل مثالي في إحدى الألعاب، بالإضافة إلى التعقيد في مشهد معيّن، يمكن أن يصعّب فهم المشاكل وعزلها. على ChromeOS، تم تصميم العديد من الأدوات مع مراعاة شرائح ARM. في ما يلي بعض النصائح للمساعدة في تسريع العملية.

عند تحسين أداء لعبتك على ChromeOS تحديدًا، يجب مراعاة أنّ مشاكل الأداء الأساسية مشتركة بين جميع الأجهزة، وأنّ التحسينات ستفيد جميع المستخدمين من حيث الأداء وعمر البطارية. قد يبرز ChromeOS بعض المشاكل بشكل أسرع، وذلك بسبب ميله إلى استخدام شاشات أكبر وأجهزة إدخال على الكمبيوتر المكتبي. على سبيل المثال، قد تعمل خوارزمية تحميل الملمس غير الفعّالة "بشكل جيد" على الأجهزة الجوّالة المتطورة، ولكنها قد لا تتمكّن من مواكبة جهاز Chromebook بشاشة بدقة 4k. سيؤدي تحسين الخوارزمية إلى تحسين اللعبة على جميع الأجهزة.

إذا كنت مبتدئًا في تحديد الأداء، إليك طريقة عامة جيدة:

  1. تحديد ما إذا كان الأداء محدودًا بما يلي:
    • وحدة معالجة مركزية (CPU)
    • وحدة معالجة الرسومات
    • غير ذلك: الإدخال/القرص/الشبكة
  2. محاولة تحديد السبب الرئيسي
  3. محاولة التحسين
  4. تكرار

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

لمزيد من التفاصيل حول كيفية التعامل مع تحديد المواصفات، يمكنك الاطّلاع على دليل ARM حول "عملية التحسين".

الأدوات

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

أداة Profiler في "استوديو Android"

أسهل طريقة لبدء تحليل أداء أي تطبيق Android هي استخدام أداة تحليل الأداء في "استوديو Android" المدمَجة. من "استوديو Android"، بدلاً من النقر على "تشغيل"، ما عليك سوى اختيار "الملف الشخصي" لتشغيل تطبيقك والحصول على إحصاءات في الوقت الفعلي حول استخدام وحدة المعالجة المركزية والذاكرة والشبكة. يمكن أن تكون عمليات تتبُّع وحدة المعالجة المركزية البسيطة طريقة سريعة لتحديد أجزاء الرمز التي يجب إلقاء نظرة عليها.

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

Snapdragon Profiler

بما أنّ سلوك ألعابك سيكون هو نفسه على جميع الأجهزة، فإنّ إحدى الطرق الجيدة للحصول على معلومات مفصّلة عن الأداء هي استخدام Snapdragon Profiler على هاتف ARM يستند إلى Qualcomm. على الرغم من أنّ هذه الأداة لا تحدّد الأداء مباشرةً على جهاز ChromeOS، إلا أنّها تقدّم لك معلومات عن الأماكن التي تستغرق فيها لعبتك معظم الوقت في كل لقطة، ويمكن أن تمنحك نظرة ثاقبة على طلبات وحدة معالجة الرسومات المستخدَمة تحديدًا.

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

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

لمزيد من المعلومات، يمكنك الاطّلاع على مستندات الاستخدام الرسمية.

ARM Mobile Studio

ARM Mobile Studio هي أداة أخرى مفيدة لإنشاء ملفات تعريف الأجهزة التي تتضمّن معالجات ARM. قد يفضّله بعض المطوّرين على أداة Snapdragon Profiler، ولكن يمكن استخدامه بطرق مشابهة. يمكنك الاطّلاع على مستندات الاستخدام الرسمية.

Android GPU Inspector

Android GPU Inspector هي أداة جديدة طوّرتها Google وهي مصمَّمة خصيصًا لمساعدتك في تحقيق أفضل أداء ممكن للعبتك باستخدام كلّ من OpenGL وVulkan. وهي متاحة حاليًا في إصدار معاينة للمطوّرين، وقد تتطلّب بعض الجهد لإعدادها، كما أنّها لا تعمل حاليًا إلا على عدد قليل من الأجهزة. من المتوقّع أن تصبح هذه الأداة من أهم الأدوات المستخدمة في تحليل أداء الرسومات في المستقبل. يمكنك الاطّلاع على المستندات الرسمية.

تتبُّع نظرة عامة على ARC

تتوفّر أيضًا أداة أكثر عمومية، وهي "تتبُّع نظرة عامة على ARC"، وتعمل بشكل مشابه لأداة "تتبُّع رسومات ARC" المذكورة أعلاه. ستوفّر أداة التتبُّع هذه مقاييس عامة حول أداء التطبيق وChromeOS. ستعرض القراءات عدد اللقطات في الثانية للتطبيق وChrome نفسه، بالإضافة إلى استخدام وحدة المعالجة المركزية ووحدة معالجة الرسومات واستهلاك الطاقة وغير ذلك. يمكنك تشغيل الأداة عدة مرات والاطّلاع على رسومات بيانية لكل عملية تشغيل مدمجة معًا بألوان مختلفة للتمييز بينها. سيتم حفظ كل نموذج تتبُّع في مجلد "التنزيلات" ويمكن إعادة استيراده للمقارنات المستقبلية. لإجراء عمليات التحقّق العامة من سلامة التطبيقات، يمكنك البدء باستخدام "تتبُّع نظرة عامة على ARC".

انتقِل إلى chrome://arc-overview-tracing في المتصفّح على ChromeOS للوصول إلى هذه الأداة.

الخطوات التالية

لنفترض أنّك عثرت على بعض المشاكل ولكنّك لست متأكدًا من كيفية حلّها. أو ربما عثرت عليها وعالجتها، ولكنك لا تعرف الخطوة التالية. في ما يلي، جمعنا لك قائمة بنصائح ومراجع عامة وخاصة بنظام التشغيل Android.

نصائح عامة

يقدّم بوابة "مطوّرو تطبيقات Android" بعض النصائح الرائعة لتحسين أداء تطبيقك. يمكنك الاطّلاع على اعتبارات وقت التحميل وكيفية استخدام ميزة "تعدد مؤشرات الترابط" والتعامل مع تأخّر الاستجابة للمدخلات وغير ذلك.

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

محرك Unity

بالإضافة إلى مستندات Android العامة، توفّر Unity مستندات خاصة بنظام التشغيل Chrome لمساعدتك في إنشاء تطبيق ChromeOS فعّال باستخدام محركها. يمكنك الاطّلاع على مستندات ChromeOS حول البدء والإدخال وتصحيح الأخطاء وإنشاء التطبيقات، بما في ذلك كيفية إنشاء إصدارات x86. للاطّلاع على محتواهم حول الأداء، يمكنك الرجوع إلى فهم التحسين ودورتهم التدريبية حول الأداء والتحسين.

ننصحك بقراءة دليل ARM حول إنشاء ملفات تعريف لألعاب Unity وتحسينها وأفضل الممارسات المرتبطة بها. سيساعدك ذلك في التعرّف على عملية إنشاء ملف تعريف للعبة نموذجية في Unity باستخدام أداة Streamline، وهي أحد جوانب ARM Mobile Studio.

Unreal engine

كتبت Unreal إرشادات الأداء ونصائح وحيل خاصة بها تعلّمك كيفية الاستفادة على أفضل وجه من العديد من الخيارات والإعدادات التي يوفّرها المحرّك. ستجد هنا نصائح مثل خدع مستوى التفاصيل، وكيفية الاستفادة إلى أقصى حد من الإضاءة، وأدلة خطوة بخطوة حول إعدادات جودة المواد والتظليل، بالإضافة إلى اقتراحات أخرى.

لمزيد من التحسينات المستندة إلى الرسومات، أعدّت شركة ARM دليلًا لتحسين ألعاب الأجهزة الجوّالة. يمكنك الاطّلاع هنا على نصائح عامة لتحسين الأداء بالإضافة إلى اعتبارات الرسومات الخاصة بـ Unreal.