تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
توضّح الأقسام التالية مواضيع الاستخدام المتقدّم التي لا تكون مطلوبة للتشغيل العادي للمكتبة.
أدوات التتبُّع المتوافقة الأخرى
تتيح أداة Tuning Fork استخدام أدوات تتبُّع متعددة. تتوفّر أدوات التتبُّع التي تتضمّن مفاتيح الأدوات التالية:
الوقت بين بدايات اللقطات (يُسمى PACED_FRAME_TIME)
وقت وحدة المعالجة المركزية: الوقت بين بداية اللقطة ونهاية عمل وحدة المعالجة المركزية
في اللقطة (يُسمى CPU_TIME)
مدة استخدام وحدة معالجة الرسومات: هي المدة التي استغرقتها وحدة معالجة الرسومات في معالجة اللقطة السابقة (يُطلق عليها
GPU_TIME)
وقت عرض اللقطة الأولي، ويُعرَّف على أنّه الحد الأقصى لوقت وحدة المعالجة المركزية ووقت وحدة معالجة الرسومات (يُطلق عليه RAW_FRAME_TIME). والفرق بين هذا الخيار وخيار PACED_FRAME_TIME هو أنّ هذا الخيار لا يتضمّن أي وقت انتظار يتضمّنه Swappy أو VSync.
يمكنك العثور على مفاتيح الأدوات هذه في
المستندات المرجعية.
يتم استخدام بعض هذه المفاتيح تلقائيًا عند تفعيل مكتبة Android Frame Pacing، ولكن إذا لم تكن ستفعّل هذه المكتبة، عليك استخدامها بشكل صريح.
إذا مرّرت fidelity_params_callback إلى TuningFork_init في الإعدادات أو كانت المكتبة في وضع التوسيع، لن تحتاج إلى استدعاء هذه الدالة.
تتواصل هذه الدالة مع خادم لاسترداد مَعلمات الدقة. يتم حظرها إلى أن يحدث أحد الإجراءات التالية:
يتم استرداد مَعلَمات الدقّة، مع قيمة إرجاع TFERROR_OK، ويتم تخزين المَعلَمات في returnedParams. في هذه الحالة، ترتبط جميع بيانات التذاكر اللاحقة بالحدث returnedParams.
عدد الملّي ثانية التي تمرّ ويساوي timeout_ms، مع عرض القيمة TFERROR_TIMEOUT. في هذه الحالة، يتم ربط جميع بيانات الأسعار اللاحقة
بالرمز defaultFidelityParams.
يجب استدعاء TuningFork_init() قبل هذه الدالة، ويجب استدعاؤها في سلسلة تعليمات منفصلة عن سلسلة التعليمات الرئيسية (راجِع TuningFork_startFidelityParamDownloadThread() للاطّلاع على دالة مساعدة تنفّذ ذلك نيابةً عنك). يمكنك استدعاء هذه الدالة مرة أخرى، مثلاً عند تحميل المستوى، لاسترداد مَعلمات الدقة من الخادم مرة أخرى. يتيح لك ذلك تعديل المَعلمات ديناميكيًا بدلاً من إعادة تحميلها عند بدء التشغيل فقط. في حال تنزيل مَعلمات دقة جديدة أو استخدام إعداد تلقائي جديد، يتم إرسال جميع بيانات التجزئة السابقة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["The following sections outline advanced usage topics not needed for normal\noperation of the library.\n\nOther supported tracers\n\nTuning Fork supports multiple tracers. Tracers with the following instrument\nkeys are supported:\n\n- Time between frame starts (called `PACED_FRAME_TIME`)\n- CPU Time: Time between the start of the frame and the end of the CPU work for the frame (called `CPU_TIME`)\n- GPU Time: Time for the previous frame to be handled by the GPU (called `GPU_TIME`)\n- The raw frame time, defined as the maximum of the CPU and GPU time (called `RAW_FRAME_TIME`). The difference between this option and `PACED_FRAME_TIME` is that this option does not include any wait time included by Swappy or VSync.\n\nYou can find these instrument keys in the\n[reference documentation](/games/sdk/reference/performance-tuner/custom-engine).\nSome of these keys are used automatically when you enable the Android Frame\nPacing library, but if you are not enabling this library, you should use them\nexplicitly.\n\nGet fidelity parameters\n\n[`TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization*\ndefaultParams, CProtobufSerialization* params, uint32_t\ntimeout_ms);`](/games/sdk/reference/performance-tuner/custom-engine/group/tuningfork#tuningfork_getfidelityparameters)\n\nIf you pass `fidelity_params_callback` to `TuningFork_init` in settings or the\nlibrary is in scaled mode, you do not need to call this function.\n\nThis function contacts a server to retrieve fidelity parameters. It blocks until\none of the following occurs:\n\n- Fidelity parameters are retrieved, with a return value of `TFERROR_OK` and `returnedParams` store the parameters. In this case, all subsequent tick data is associated with `returnedParams`.\n- A number of milliseconds equal to `timeout_ms` passes, with a return value of `TFERROR_TIMEOUT`. In this case, all subsequent tick data is associated with `defaultFidelityParams`.\n\nYou must call `TuningFork_init()` before this function, and you must call it on\na separate thread from the main thread (see\n[`TuningFork_startFidelityParamDownloadThread()`](/games/sdk/reference/performance-tuner/custom-engine/group/tuningfork-extra#tuningfork_startfidelityparamdownloadthread)\nfor a utility function that does this for you). You can call this function\nagain, for example at level-loading time, to retrieve fidelity parameters from\nthe server again. This allows you to dynamically update parameters rather than\nhaving to reload them only at start-up. If new fidelity parameters are\ndownloaded or a new default is used, all previous tick data is submitted."]]