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

توضح الأقسام التالية مواضيع الاستخدام المتقدمة غير اللازمة للعمل العادي للمكتبة.

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

تتوافق الشوكة الرنانة مع أدوات التتبع المتعددة. تتوفر أجهزة التتبع بمفاتيح الآلات التالية:

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

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

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

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() للاطّلاع على دالة تنفيذية توفّر هذه الوظيفة نيابةً عنك). يمكنك استدعاء هذه الدالة مرة أخرى، على سبيل المثال في وقت التحميل على مستوى، لاسترداد معلمات الدقة من الخادم مرة أخرى. ويتيح لك ذلك تحديث المعلمات ديناميكيًا بدلاً من الاضطرار إلى إعادة تحميلها عند بدء التشغيل فقط. في حال تنزيل مَعلَمات دقة جديدة أو استخدام قيمة تلقائية جديدة، يتم إرسال جميع بيانات التجزئة السابقة.