Penggunaan lanjutan

Bagian berikut menguraikan topik penggunaan lanjutan yang tidak diperlukan untuk operasi normal library.

Pelacak lain yang didukung

Tuning Fork mendukung banyak pelacak. Pelacak dengan kunci instrumen berikut didukung:

  • Waktu antar frame dimulai (disebut PACED_FRAME_TIME)
  • Waktu CPU: Waktu antara awal frame dan akhir pekerjaan CPU untuk frame (disebut CPU_TIME)
  • Waktu GPU: Waktu untuk frame sebelumnya yang ditangani oleh GPU (disebut GPU_TIME)
  • Waktu render frame mentah, didefinisikan sebagai waktu CPU dan GPU maksimum (disebut RAW_FRAME_TIME). Perbedaan antara opsi ini dan PACED_FRAME_TIME adalah bahwa opsi ini tidak menyertakan waktu tunggu apa pun yang disertakan oleh Swappy atau VSync.

Anda dapat menemukan kunci instrumen ini di dokumentasi referensi. Beberapa kunci ini digunakan secara otomatis saat Anda mengaktifkan library Android Frame Pacing, namun jika tidak mengaktifkan library ini, Anda harus menggunakannya secara eksplisit.

Mendapatkan parameter fidelitas

TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization* defaultParams, CProtobufSerialization* params, uint32_t timeout_ms);

Jika meneruskan fidelity_params_callback ke TuningFork_init di setelan atau library dalam mode yang diskalakan, Anda tidak perlu memanggil fungsi ini.

Fungsi ini menghubungi server untuk mengambil parameter fidelitas. Ini memblokir hingga salah satu dari hal berikut terjadi:

  • Parameter Fidelitas diambil, dengan nilai hasil dari TFERROR_OK dan returnedParams menyimpan parameter. Pada kasus ini, semua data centang berikutnya dikaitkan dengan returnedParams.
  • Jumlah milidetik yang sama dengan kartu timeout_ms, dengan nilai hasil TFERROR_TIMEOUT. Dalam kasus ini, semua data tick berikutnya diatribusikan dengan defaultFidelityParams.

Anda harus memanggil TuningFork_init() sebelum fungsi ini di thread yang terpisah dari thread utama (lihat TuningFork_startFidelityParamDownloadThread() untuk mengetahui fungsi utilitas yang melakukannya untuk Anda). Anda dapat memanggil fungsi ini lagi, misalnya pada waktu pemuatan tingkat, untuk mengambil kembali parameter fidelitas dari server. Hal ini memungkinkan Anda mengupdate parameter secara dinamis daripada hanya perlu memuat ulang parameter saat memulai. Jika parameter fidelitas baru telah didownload atau default baru digunakan, semua data centang sebelumnya dikirimkan.