بخشهای زیر موضوعات استفاده پیشرفتهای را که برای عملکرد عادی کتابخانه مورد نیاز نیستند، تشریح میکند.
سایر ردیاب های پشتیبانی شده
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 را فعال می کنید، برخی از این کلیدها به طور خودکار استفاده می شوند، اما اگر این کتابخانه را فعال نمی کنید، باید به طور صریح از آنها استفاده کنید.
پارامترهای وفاداری را دریافت کنید
اگر در تنظیمات fidelity_params_callback به TuningFork_init ارسال کنید یا کتابخانه در حالت مقیاسبندی شده باشد، نیازی به فراخوانی این تابع نیست.
این تابع با یک سرور تماس می گیرد تا پارامترهای وفاداری را بازیابی کند. تا زمانی که یکی از موارد زیر رخ دهد مسدود می شود:
- پارامترهای Fidelity با مقدار بازگشتی
TFERROR_OKبازیابی میشوند وreturnedParamsپارامترها را ذخیره میکند. در این مورد، تمام داده های تیک بعدی باreturnedParamsمرتبط می شود. - تعدادی میلی ثانیه برابر با
timeout_msپاس، با مقدار بازگشتیTFERROR_TIMEOUT. در این مورد، تمام داده های تیک بعدی باdefaultFidelityParamsمرتبط می شوند.
قبل از این تابع باید TuningFork_init() را فراخوانی کنید، و باید آن را در یک رشته مجزا از رشته اصلی فراخوانی کنید (برای تابعی که این کار را برای شما انجام می دهد TuningFork_startFidelityParamDownloadThread() مراجعه کنید). برای بازیابی مجدد پارامترهای وفاداری از سرور، می توانید این تابع را دوباره فراخوانی کنید، برای مثال در زمان بارگذاری سطح. این به شما این امکان را میدهد که بهجای نیاز به بارگیری مجدد پارامترها در هنگام راهاندازی، بهصورت پویا بهروزرسانی کنید. اگر پارامترهای وفاداری جدید دانلود شوند یا از یک پیشفرض جدید استفاده شود، تمام دادههای تیک قبلی ارسال میشوند.