Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
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.
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.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-26 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-26 UTC."],[],[],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."]]