استفاده پیشرفته
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
بخشهای زیر موضوعات استفاده پیشرفتهای را که برای عملکرد عادی کتابخانه مورد نیاز نیستند، تشریح میکند.
سایر ردیاب های پشتیبانی شده
Tuning Fork از چندین ردیاب پشتیبانی می کند. ردیاب هایی با کلیدهای ابزار زیر پشتیبانی می شوند:
- زمان بین شروع فریم (به نام
PACED_FRAME_TIME
) - زمان CPU: زمان بین شروع فریم و پایان کار CPU برای فریم (به نام
CPU_TIME
) - زمان GPU: زمان مدیریت فریم قبلی توسط GPU (به نام
GPU_TIME
) - زمان فریم خام، به عنوان حداکثر زمان CPU و GPU (به نام
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
ارسال کنید یا کتابخانه در حالت مقیاسبندی شده باشد، نیازی به فراخوانی این تابع نیست.
این تابع با یک سرور تماس می گیرد تا پارامترهای وفاداری را بازیابی کند. تا زمانی که یکی از موارد زیر رخ دهد مسدود می شود:
- پارامترهای Fidelity با مقدار بازگشتی
TFERROR_OK
بازیابی میشوند و returnedParams
پارامترها را ذخیره میکند. در این مورد، تمام داده های تیک بعدی با returnedParams
مرتبط می شود. - تعدادی میلی ثانیه برابر با
timeout_ms
پاس، با مقدار بازگشتی TFERROR_TIMEOUT
. در این مورد، تمام داده های تیک بعدی با defaultFidelityParams
مرتبط می شوند.
قبل از این تابع باید TuningFork_init()
را فراخوانی کنید، و باید آن را در یک رشته مجزا از رشته اصلی فراخوانی کنید (برای تابعی که این کار را برای شما انجام می دهد TuningFork_startFidelityParamDownloadThread()
مراجعه کنید). برای بازیابی مجدد پارامترهای وفاداری از سرور، می توانید این تابع را دوباره فراخوانی کنید، برای مثال در زمان بارگذاری سطح. این به شما این امکان را میدهد که بهجای نیاز به بارگیری مجدد پارامترها در هنگام راهاندازی، بهصورت پویا بهروزرسانی کنید. اگر پارامترهای وفاداری جدید دانلود شوند یا از یک پیشفرض جدید استفاده شود، تمام دادههای تیک قبلی ارسال میشوند.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-26 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 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."]]