استفاده پیشرفته

بخش‌های زیر موضوعات استفاده پیشرفته‌ای را که برای عملکرد عادی کتابخانه مورد نیاز نیستند، تشریح می‌کند.

سایر ردیاب های پشتیبانی شده

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() مراجعه کنید). برای بازیابی مجدد پارامترهای وفاداری از سرور، می توانید این تابع را دوباره فراخوانی کنید، برای مثال در زمان بارگذاری سطح. این به شما این امکان را می‌دهد که به‌جای نیاز به بارگیری مجدد پارامترها در هنگام راه‌اندازی، به‌صورت پویا به‌روزرسانی کنید. اگر پارامترهای وفاداری جدید دانلود شوند یا از یک پیش‌فرض جدید استفاده شود، تمام داده‌های تیک قبلی ارسال می‌شوند.

،

بخش‌های زیر موضوعات استفاده پیشرفته‌ای را که برای عملکرد عادی کتابخانه مورد نیاز نیستند، تشریح می‌کند.

سایر ردیاب های پشتیبانی شده

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() مراجعه کنید). برای بازیابی مجدد پارامترهای وفاداری از سرور، می توانید این تابع را دوباره فراخوانی کنید، برای مثال در زمان بارگذاری سطح. این به شما این امکان را می‌دهد که به‌جای نیاز به بارگیری مجدد پارامترها در هنگام راه‌اندازی، به‌صورت پویا به‌روزرسانی کنید. اگر پارامترهای وفاداری جدید دانلود شوند یا از یک پیش‌فرض جدید استفاده شود، تمام داده‌های تیک قبلی ارسال می‌شوند.