نظرة عامة على أداة Android Performance Tuner (Unity)

يوضّح هذا الدليل كيفية استخدام إضافة Unity لتسجيل بيانات وقت عرض اللقطة وتحميلها من Unity 2017.4 أو إصدار أحدث.

بالنسبة إلى محركات الألعاب التي تستخدم C أو C++، اطّلِع على دليل محركات الألعاب الأصلية.

الخلفية

أحد المكوّنات الرئيسية لتجربة اللعبة هو أداء العرض. يستند أداء العرض إلى المدخلَين التاليَين:

  • عدد اللقطات في الثانية: عدد المرات التي يتم فيها رسم إطار
  • إعدادات جودة الرسومات: مستوى الدقة الذي يتم عرض اللقطة به، بما في ذلك دقة المحاكاة والرسومات

بالنسبة إلى الألعاب، يتم تعريف أداء العرض الجيد على النحو التالي:

  • تقديم معدّل لقطات في الثانية ثابت ومتسق (أي النسبة المئوية للقطات التي يتم عرضها بالمعدّل المطلوب)
  • عرض اللقطات بأعلى معدّل تكرار ممكن مع الحفاظ على الثبات، وعادةً ما يكون 30 أو 60 لقطة في الثانية حسب نوع اللعبة
  • زيادة مستوى التفاصيل إلى أقصى حدّ للمستخدمين حسب حجم الشاشة وكثافتها مع الحفاظ على عدد اللقطات المطلوب والثابت في الثانية

تحدّ مكتبة Android Frame Pacing من التفاوت الكبير في أوقات عرض اللقطات، ما يوفّر معدّل لقطات ثابتًا للألعاب. ويرجع التفاوت المتبقي في أوقات عرض اللقطات إلى مستوى التفاصيل المعروضة خلال مشاهد معيّنة في طريقة اللعب وإلى إمكانات الرسومات في الجهاز. باستخدام أداة Android Performance Tuner، يمكنك تحديد الأوقات التي يكون فيها وقت عرض اللقطة أبطأ أو أسرع من الوقت المستهدَف أثناء اللعب، وربط هذه المشاكل وفرص التحسين بما يلي:

  • إعدادات جودة محدّدة
  • مَشاهد معيّنة في لعبتك
  • طُرز أجهزة أو مواصفات أجهزة محدّدة

تسجيل البيانات وتحميلها

تعتمد مكتبة Tuning Fork على استدعاء إحدى دوالها الخاصة بالقياس في كل إطار من خلال مكتبة Android Frame Pacing (أو من خلال محرك Unity في الإصدارات الأقدم من Unity التي لا تتوفّر فيها مكتبة Frame Pacing). يتم تجميع معلومات العلامات هذه في رسومات بيانية ضمن المكتبة، ثم يتم تحميلها بشكل دوري إلى Google Play من خلال نقطة نهاية HTTP. يتم تسجيل كل علامة على أنّها مرتبطة بمفتاح أداة وتعليق توضيحي. يمكنك تحديد التعليقات التوضيحية باستخدام إضافة Unity.

مفاتيح الآلات الموسيقية

يشير مفتاح الأداة إلى موضع العلامة في الإطار، وهو عدد صحيح يجب تمريره إلى كل استدعاء لدالة العلامة. ويتم ذلك تلقائيًا من خلال المكوّن الإضافي لمحرّك الألعاب Unity. إذا كان خيار "تحسين توقيت عرض اللقطات" مفعَّلاً في إعدادات Unity للعبتك (يتوفّر في إصدار Unity 2019.3.14 أو إصدار أحدث)، ستستخدم أداة Android Performance Tuner معلومات من مكتبة Android Frame Pacing لعرض مقاييس محسّنة.

التعليقات التوضيحية

تقدّم التعليقات التوضيحية معلومات سياقية عن ما تفعله لعبتك عند تسجيل وحدة قياس. على سبيل المثال، يمكن أن يحدّد التعليق التوضيحي أيًا مما يلي:

  • مستوى اللعبة الحالي
  • جارٍ تحميل مشهد معيّن
  • يظهر "رئيس كبير" على الشاشة
  • أي معلومات أخرى ذات صلة بحالة اللعبة

يتم تحديد التعليقات التوضيحية في مربّع حوار يوفّره مكوّن Unity الإضافي.

تستخدم مكتبة Tuning Fork داخليًا تنسيق مخزن البروتوكولات المؤقت من Google لتخزين التعليقات التوضيحية ومعلّمات الدقة. وهو بروتوكول متعدّد اللغات ومحدّد جيدًا للبيانات المنظَّمة القابلة للتوسيع. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Protocol Buffers.

مَعلَمات الدقّة

تؤثر مَعلَمات الدقّة في أداء لعبتك ودقتها التصويرية، مثل مستوى تفاصيل التداخل ودقّة الصورة وطريقة تنعيم الحواف. وكما هو الحال مع التعليقات التوضيحية، يتم تحديد مَعلَمات الدقّة في مربّع حوار يوفّره مكوّن Unity الإضافي.

الذاكرة وحِمل وحدة المعالجة المركزية

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

يتم إرسال البيانات في سلسلة محادثات منفصلة ولا يحظر طلبات البيانات. إذا لم يتوفّر اتصال بالإنترنت لتحميل البيانات، يتم وضع الطلب في قائمة انتظار لتحميله لاحقًا.

لا تتطلّب استدعاء دالة العلامة سوى القليل من المعالجة: فهي ببساطة تحسب فهرسًا في مصفوفة أقسام المدرج التكراري وتزيد عددًا صحيحًا.

طلبات الويب

تُرسِل المكتبة نوعَين من الطلبات إلى نقطة نهاية الخادم:

  • طلب generateTuningParameters عند بدء التشغيل
  • بشكل دوري أثناء اللعب، يتم إرسال طلب uploadTelemetry لإرسال البيانات إلى الخادم

اللاعبون بلا إنترنت

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

المتطلبات

لاستخدام المكوّن الإضافي في لعبتك، استخدِم إصدارًا متوافقًا من Unity:

  • الإصدار 2017.4 من Unity أو إصدار أحدث والإصدار 4.6 من.NET
  • لاستخدام ملفات البيانات الموسّعة لحِزم APK، يجب استخدام Unity 2018.2
  • لتحسين وتيرة عرض اللقطات وقياسات وحدة معالجة الرسومات، يجب استخدام الإصدار 2019.3.14 من Unity أو إصدار أحدث.
  • لاستخدام ميزة "مشاهد قابلة للتوجيه"، يجب استخدام Unity 2019.3 أو إصدار أحدث وحزمة Addressables 1.19.4 أو إصدار أحدث.

دمج أداة Android Performance Tuner في Unity

للحصول على معلومات حول دمج أداة Android Performance Tuner في Unity، يُرجى الاطّلاع على مقالة تفعيل واجهة برمجة التطبيقات.