Antarmuka utama Tuning Fork
Antarmuka utama untuk menggunakan Tuning Fork.
Ringkasan
Typedef |
|
---|---|
ProtoCallback)(const CProtobufSerialization *)
|
typedefvoid(*
Pointer ke fungsi yang dapat dilampirkan ke TFSettings::fidelity_params_callback. |
SwappyTracerFn)(const SwappyTracer *)
|
typedefvoid(*
Pointer ke Swappy_injectTracers yang dapat dilampirkan ke TFSettings::swappy_tracer_fn. |
TFDuration
|
typedefuint64_t
Durasi dalam nanodetik. |
TFInstrumentKey
|
typedefuint16_t
Kunci instrumentasi mengidentifikasi titik tick dalam frame atau segmen trace. |
TFTimePoint
|
typedefuint64_t
Waktu dalam milidetik setelah epoch. |
TFTraceHandle
|
typedefuint64_t
Handle trace yang digunakan di TuningFork_startTrace. |
UploadCallback)(const char *, size_t n)
|
typedefvoid(*
Pointer ke fungsi yang dapat diteruskan ke TuningFork_setUploadCallback. |
Fungsi |
|
---|---|
CProtobufSerialization_Free(CProtobufSerialization *ser)
|
void
Menghapus alokasi semua memori yang dimiliki oleh serialisasi buffering prokol.
|
TuningFork_destroy()
|
Membersihkan semua memori yang dimiliki Tuning Fork dan menghentikan semua thread.
|
TuningFork_enableMemoryRecording(bool enable)
|
Mengaktifkan atau menonaktifkan perekaman telemetri memori.
|
TuningFork_endTrace(TFTraceHandle handle)
|
Menghentikan dan merekam segmen trace.
|
TuningFork_flush()
|
Memaksa upload histogram saat ini.
|
TuningFork_frameDeltaTimeNanos(TFInstrumentKey key, TFDuration dt)
|
Merekam tick frame menggunakan waktu eksternal, bukan waktu sistem.
|
TuningFork_frameTick(TFInstrumentKey key)
|
Merekam tick frame yang akan dikaitkan dengan kunci instrumentasi dan anotasi saat ini.
|
TuningFork_getFidelityParameters(const CProtobufSerialization *defaultParams, CProtobufSerialization *params, uint32_t timeout_ms)
|
Panggilan pemblokiran untuk mendapatkan parameter fidelitas dari server.
|
TuningFork_init(const TFSettings *settings, JNIEnv *env, jobject context)
|
Menginisialisasi Tuning Fork.
|
TuningFork_setCurrentAnnotation(const CProtobufSerialization *annotation)
|
Menyetel anotasi saat ini.
|
TuningFork_setFidelityParameters(const CProtobufSerialization *params)
|
Menyetel parameter fidelitas yang saat ini aktif.
|
TuningFork_setUploadCallback(UploadCallback cbk)
|
Menyetel callback untuk dipanggil pada thread terpisah setiap kali TuningFork melakukan upload.
|
TuningFork_startTrace(TFInstrumentKey key, TFTraceHandle *handle)
|
Memulai segmen trace.
|
Struct |
|
---|---|
CProtobufSerialization |
Serangkaian byte yang mewakili buffering protokol serial. |
TFSettings |
Setelan inisialisasi Nol nilai mana pun yang tidak digunakan. |
Enumerasi
InstrumentKeys
InstrumentKeys
Kunci instrumen yang menunjukkan periode waktu dalam frame.
Kunci 64000-65535 telah dipesan
Properti | |
---|---|
TFTICK_CPU_TIME
|
Waktu antara frame dimulai dan panggilan ke Swappy_swap. |
TFTICK_GPU_TIME
|
Waktu antara pertukaran buffering dan pemicu fence GPU. |
TFTICK_PACED_FRAME_TIME
|
Waktu frame antara akhir panggilan eglSwapBuffers atau antrean Vulkan yang ada. |
TFTICK_RAW_FRAME_TIME
|
Jika waktu GPU tersedia, ini adalah MAX(CPU_TIME,GPU_TIME). Jika tidak, ini sama dengan PACED_FRAME_TIME. |
TFErrorCode
TFErrorCode
Semua kode error yang dapat ditampilkan oleh fungsi Tuning Fork.
Properti | |
---|---|
TFERROR_ALREADY_INITIALIZED
|
TuningFork_init dipanggil lebih dari sekali. |
TFERROR_B64_ENCODE_FAILED
|
Tidak dapat mengenkode protobuf. |
TFERROR_BAD_FILE_OPERATION
|
Error file umum. |
TFERROR_BAD_PARAMETER
|
Parameter buruk generik. |
TFERROR_BAD_SETTINGS
|
File Tuningfork_settings.bin tidak valid. |
TFERROR_COULDNT_SAVE_OR_DELETE_FPS
|
Error saat memanggil |
TFERROR_DOWNLOAD_THREAD_ALREADY_STARTED
|
|
TFERROR_GENERATE_TUNING_PARAMETERS_ERROR
|
Terjadi error saat menguraikan respons ke generateTuningParameters. |
TFERROR_GENERATE_TUNING_PARAMETERS_RESPONSE_NOT_SUCCESS
|
Respons dari generateTuningParameters bukan kode yang berhasil. |
TFERROR_INVALID_ANNOTATION
|
Parameter tidak valid untuk |
TFERROR_INVALID_DEFAULT_FIDELITY_PARAMS
|
|
TFERROR_INVALID_INSTRUMENT_KEY
|
Kunci instrumen tidak valid diteruskan ke fungsi tick. |
TFERROR_INVALID_TRACE_HANDLE
|
Handle tidak valid diteruskan ke |
TFERROR_JNI_BAD_ENV
|
Jni error - obsolete. |
TFERROR_JNI_BAD_JVM
|
Jni error - obsolete. |
TFERROR_JNI_BAD_THREAD
|
Jni error - obsolete. |
TFERROR_JNI_BAD_VERSION
|
Jni error - obsolete. |
TFERROR_JNI_EXCEPTION
|
Jni error - pengecualian ditampilkan. Lihat output logcat. |
TFERROR_NO_CLEARCUT
|
Obsolete. |
TFERROR_NO_FIDELITY_PARAMS
|
Tidak ditemukan parameter fidelitas saat inisialisasi. |
TFERROR_NO_FIDELITY_PARAMS_IN_APK
|
Tidak ditemukan dev_tuningfork_fidelityparams_#.bin di aset/tuningfork. |
TFERROR_NO_SETTINGS
|
Tidak ditemukan tuningfork_settings.bin di aset/tuningfork. |
TFERROR_NO_SETTINGS_ANNOTATION_ENUM_SIZES
|
Bagian yang tidak ada dari tuningfork_settings.bin. |
TFERROR_NO_SUCH_KEY
|
Tidak ada kunci tersebut saat mengakses cache file. |
TFERROR_NO_SWAPPY
|
Tidak dapat menemukan fungsi Swappy yang diperlukan. |
TFERROR_OK
|
Tidak ada error. |
TFERROR_PLATFORM_NOT_SUPPORTED
|
Game atau aplikasi dijalankan pada platform yang tidak mendukung Tuning fork. Khusus digunakan oleh plugin Unity. |
TFERROR_PREVIOUS_UPLOAD_PENDING
|
Tidak dapat mengupload karena permintaan lain tertunda. |
TFERROR_TIMEOUT
|
Waktu tunggu dalam permintaan untuk parameter fidelitas. |
TFERROR_TUNINGFORK_NOT_INITIALIZED
|
Panggilan dibuat sebelum Tuning Fork diinisialisasi. |
TFERROR_UPLOAD_TOO_FREQUENT
|
Panggilan terlalu sering ke |
Typedef
ProtoCallback
void(* ProtoCallback)(const CProtobufSerialization *)
Pointer ke fungsi yang dapat dilampirkan ke TFSettings::fidelity_params_callback.
Fungsi yang akan dipanggil dengan parameter fidelitas yang didownload. Lihat juga:TFSettings
SwappyTracerFn
void(* SwappyTracerFn)(const SwappyTracer *)
Pointer ke Swappy_injectTracers yang dapat dilampirkan ke TFSettings::swappy_tracer_fn.
Lihat juga: TFSettings
TFDuration
uint64_t TFDuration
Durasi dalam nanodetik.
TFInstrumentKey
uint16_t TFInstrumentKey
Kunci instrumentasi mengidentifikasi titik tick dalam frame atau segmen trace.
TFTimePoint
uint64_t TFTimePoint
Waktu dalam milidetik setelah epoch.
TFTraceHandle
uint64_t TFTraceHandle
Handle trace yang digunakan di TuningFork_startTrace.
UploadCallback
void(* UploadCallback)(const char *, size_t n)
Pointer ke fungsi yang dapat diteruskan ke TuningFork_setUploadCallback.
Fungsi yang akan dipanggil pada thread terpisah setiap kali TuningFork melakukan upload. Lihat juga:TFSettings
Fungsi
CProtobufSerialization_Free
void CProtobufSerialization_Free( CProtobufSerialization *ser )
Menghapus alokasi semua memori yang dimiliki oleh serialisasi buffering prokol.
Detail | |||
---|---|---|---|
Parameter |
|
TuningFork_destroy
TFErrorCode TuningFork_destroy()
Membersihkan semua memori yang dimiliki Tuning Fork dan menghentikan semua thread.
Detail | |
---|---|
Hasil |
TFERROR_OK kecuali Tuning Fork tidak diinisialisasi.
|
TuningFork_enableMemoryRecording
TFErrorCode TuningFork_enableMemoryRecording( bool enable )
Mengaktifkan atau menonaktifkan perekaman telemetri memori.
Secara default, perekaman telemetri memori diaktifkan saat inisialisasi.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_OK kecuali Tuning Fork tidak diinisialisasi.
|
TuningFork_endTrace
TFErrorCode TuningFork_endTrace( TFTraceHandle handle )
Menghentikan dan merekam segmen trace.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_INVALID_TRACE_HANDLE jika handle tidak valid. TFERROR_OK saat berhasil.
|
TuningFork_flush
TFErrorCode TuningFork_flush()
Memaksa upload histogram saat ini.
Detail | |
---|---|
Hasil |
TFERROR_OK jika upload dapat diinisialisasi. TFERROR_PREVIOUS_UPLOAD_PENDING jika ada upload sebelumnya yang memblokirnya. TFERROR_UPLOAD_TOO_FREQUENT jika telah berlalu kurang dari satu menit sejak upload sebelumnya.
|
TuningFork_frameDeltaTimeNanos
TFErrorCode TuningFork_frameDeltaTimeNanos( TFInstrumentKey key, TFDuration dt )
Merekam tick frame menggunakan waktu eksternal, bukan waktu sistem.
Lihat juga: kunci instrumen yang dipesan di atas
Detail | |||
---|---|---|---|
Parameter |
|
||
Parameter |
|
||
Hasil |
TFERROR_INVALID_INSTRUMENT_KEY jika kunci instrumen tidak valid. TFERROR_OK saat berhasil.
|
TuningFork_frameTick
TFErrorCode TuningFork_frameTick( TFInstrumentKey key )
Merekam tick frame yang akan dikaitkan dengan kunci instrumentasi dan anotasi saat ini.
Catatan: memanggil fungsi tick atau trace dari thread yang berbeda diperbolehkan, tetapi kunci instrumen tunggal harus selalu di-tick dari thread yang sama. Lihat juga: kunci instrumen yang dipesan di atas
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_INVALID_INSTRUMENT_KEY jika kunci instrumen tidak valid. TFERROR_OK saat berhasil.
|
TuningFork_getFidelityParameters
TFErrorCode TuningFork_getFidelityParameters( const CProtobufSerialization *defaultParams, CProtobufSerialization *params, uint32_t timeout_ms )
Panggilan pemblokiran untuk mendapatkan parameter fidelitas dari server.
Anda tidak perlu memanggil ini jika meneruskan fidelity_params_callback sebagai bagian dari setelan ke TuningFork_init. Perhatikan bahwa setelah parameter fidelitas didownload, informasi pengaturan waktu direkam sebagai terkait dengan parameter tersebut. Jika memanggil GetFidelityParameters dan sekumpulan parameter baru telah didownload, setiap data yang telah dikumpulkan akan dikirimkan ke backend. Kepemilikan 'parameter' ditransfer ke pemanggil, sehingga harus memanggil parameter->dealloc saat selesai menggunakannya. Permintaan parameter dikirim ke: ${url_base}+'applications/'+package_name+'/apks/'+version_number+':generateTuningParameters'.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
TFERROR_TIMEOUT jika ada waktu tunggu sebelum parameter dapat didownload. TFERROR_OK saat berhasil.
|
TuningFork_init
TFErrorCode TuningFork_init( const TFSettings *settings, JNIEnv *env, jobject context )
Menginisialisasi Tuning Fork.
Tindakan ini harus dipanggil sebelum fungsi lainnya.
Library akan memuat histogram dan setelan anotasi dari file tuningfork_settings.bin file. Lihat juga:TFSettings untuk semantik tentang cara setelan lainnya mengubah perilaku inisialisasi.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
TFERROR_OK jika berhasil, TFERROR_NO_SETTINGS jika tidak ada setelan yang ditemukan, TFERROR_BAD_SETTINGS jika file tuningfork_settings.bin Anda tidak valid atau TFERROR_ALREADY_INITIALIZED jika tuningfork sudah diinisialisasi.
|
TuningFork_setCurrentAnnotation
TFErrorCode TuningFork_setCurrentAnnotation( const CProtobufSerialization *annotation )
Menyetel anotasi saat ini.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_INVALID_ANNOTATION jika anotasi tidak konsisten dengan setelan.
|
||
Hasil |
TFERROR_OK saat berhasil.
|
TuningFork_setFidelityParameters
TFErrorCode TuningFork_setFidelityParameters( const CProtobufSerialization *params )
Menyetel parameter fidelitas yang saat ini aktif.
Fungsi ini mengganti parameter apa pun yang telah didownload jika dalam mode eksperimen. Gunakan jika, misalnya, pemain telah mengubah setelan kualitas game secara manual. Tindakan ini akan menghapus (yaitu mengupload) data apa pun yang terkait dengan parameter sebelumnya.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_OK jika parameter dapat disetel.
|
TuningFork_setUploadCallback
TFErrorCode TuningFork_setUploadCallback( UploadCallback cbk )
Menyetel callback untuk dipanggil pada thread terpisah setiap kali TuningFork melakukan upload.
Detail | |||
---|---|---|---|
Parameter |
|
||
Hasil |
TFERROR_OK kecuali Tuning Fork tidak diinisialisasi.
|
TuningFork_startTrace
TFErrorCode TuningFork_startTrace( TFInstrumentKey key, TFTraceHandle *handle )
Memulai segmen trace.
Lihat juga: kunci instrumen yang dipesan di atas
Detail | |||
---|---|---|---|
Parameter |
|
||
Parameter |
|
||
Hasil |
TFERROR_INVALID_INSTRUMENT_KEY jika kunci instrumen tidak valid. TFERROR_OK saat berhasil.
|