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

يوضّح هذا الموضوع كيفية دمج أداة Android Performance Tuner، المعروفة أيضًا باسم مكتبة "شوكة" الرنانة لتسجيل بيانات وقت عرض اللقطة وتحميلها من الصورة الأصلية (C وC++).

بالنسبة إلى محرك لعبة Unity، يمكنك الاطّلاع على دليل الانسجام.

خلفية

يُعدّ أداء العرض من أهم ركائز تجربة اللعبة. العرض مؤشر الأداء هو نتيجة المُدخلين التاليين:

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

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

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

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

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

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

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

مفاتيح الآلات

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

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

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

  • مستوى اللعبة الحالي
  • "الوحش الكبير" على الشاشة
  • أي معلومات أخرى ذات صلة عن حالة اللعبة

يتم تحديد التعليقات التوضيحية من خلال بروتوكول com.google.tuningfork.Annotation. للمخزن المؤقت. لتعيين التعليق التوضيحي الحالي، يجب تمرير تسلسل رسالة حددتها TuningFork_setCurrentAnnotation() ثم يتم ربط جميع بيانات التجزئة اللاحقة بهذا التعليق التوضيحي حتى التعليق التوضيحي. فيما يلي مثال على تعريف أولي للتعليقات التوضيحية:

import "tuningfork.proto"
enum Level {
  INVALID_LEVEL = 0;
  Level_1 = 1;
  Level_2 = 2;
  Level_3 = 3;
}
message Annotation {
  optional Level level = 1;
}

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

تؤثر معاملات الدقّة في الأداء والدقّة التصويرية مثل مستوى تفاصيل الشبكة المتداخلة ودرجة دقة الهيئة وتنعيمها . مثل التعليقات التوضيحية، يتم تحديد معاملات الدقة باستخدام رسالة المخزن المؤقت لبروتوكول com.google.tuningfork.FidelityParams. فيما يلي مثال على تعريف أولي لمعاملات الدقة:

import "tuningfork.proto"
message FidelityParams {
  int32 texture_quality_level = 1;
  int32 shadow_resolution = 2;
  float terrain_details_percent = 3;
  int32 post_processing_effects_level = 4;
}

عند تهيئة الشوكة الرنانة، يمكنك تمرير تسلسل المعلمات التي تستخدمها اللعبة. يمكنك تغيير هذه المعلمات، على سبيل المثال: تغيير المستخدم لإعدادات عرض اللعبة والبيانات اللاحقة التي تم تحميلها بالمعلمات الجديدة.

لكي يتمكّن Google Play من فهم التعليقات التوضيحية ومَعلَمات الدقة التي تحددها، فيجب أن يكون ملف المخزن المؤقت للبروتوكول الذي يحمل هذه التعريفات داخل حزمة APK الخاصة باللعبة، بالإضافة إلى إعدادات الإعداد يمكنك أيضًا الحاجة إلى توفير قيم افتراضية لمجموعات معاملات الدقة الشائعة في حزمة APK حتى يتم تقسيم بياناتك حسبها في واجهة مستخدم Google Play. لمزيد من المعلومات، يُرجى مراجعة تحديد مستويات الجودة:

أعباء الذاكرة ووحدة المعالجة المركزية (CPU)

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

تتم عملية الإرسال في سلسلة محادثات منفصلة ولا تحظر استدعاءات التجزئة. إذا كانت الإجابة "لا" توفر اتصال التحميل، تم وضع الإرسال في قائمة الانتظار للتحميل لاحقًا.

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

دمج مكتبة Tuning Fork

ينقسم دليل الدمج هذا إلى جزأين. يصف الجزء الأول كيف لإجراء اختبار شامل باستخدام تطبيق تجريبي وGoogle Play Console. تشير رسالة الأشكال البيانية يصف الجزء الثاني كيفية دمج مكتبة Tuning Fork في سلسلة الأدوات وكيفية استخدام الدوال التي توفرها المكتبة. انقر على على الرابط التالي أدناه للبدء.