الاستخدام المتقدّم

توضّح الأقسام التالية مواضيع الاستخدام المتقدّم التي لا تكون مطلوبة للتشغيل العادي للمكتبة.

أدوات التتبُّع المتوافقة الأخرى

تتيح أداة Tuning Fork استخدام أدوات تتبُّع متعددة. تتوفّر أدوات التتبُّع التي تتضمّن مفاتيح الأدوات التالية:

  • الوقت بين بدايات اللقطات (يُسمى PACED_FRAME_TIME)
  • وقت وحدة المعالجة المركزية: الوقت بين بداية اللقطة ونهاية عمل وحدة المعالجة المركزية في اللقطة (يُسمى CPU_TIME)
  • مدة استخدام وحدة معالجة الرسومات: هي المدة التي استغرقتها وحدة معالجة الرسومات في معالجة اللقطة السابقة (يُطلق عليها GPU_TIME)
  • وقت عرض اللقطة الأولي، ويُعرَّف على أنّه الحد الأقصى لوقت وحدة المعالجة المركزية ووقت وحدة معالجة الرسومات (يُطلق عليه RAW_FRAME_TIME). والفرق بين هذا الخيار وخيار PACED_FRAME_TIME هو أنّ هذا الخيار لا يتضمّن أي وقت انتظار يتضمّنه Swappy أو VSync.

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

الحصول على مَعلَمات الدقّة

TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization* defaultParams, CProtobufSerialization* params, uint32_t timeout_ms);

إذا مرّرت fidelity_params_callback إلى TuningFork_init في الإعدادات أو كانت المكتبة في وضع التوسيع، لن تحتاج إلى استدعاء هذه الدالة.

تتواصل هذه الدالة مع خادم لاسترداد مَعلمات الدقة. يتم حظرها إلى أن يحدث أحد الإجراءات التالية:

  • يتم استرداد مَعلَمات الدقّة، مع قيمة إرجاع TFERROR_OK، ويتم تخزين المَعلَمات في returnedParams. في هذه الحالة، ترتبط جميع بيانات التذاكر اللاحقة بالحدث returnedParams.
  • عدد الملّي ثانية التي تمرّ ويساوي timeout_ms، مع عرض القيمة TFERROR_TIMEOUT. في هذه الحالة، يتم ربط جميع بيانات الأسعار اللاحقة بالرمز defaultFidelityParams.

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