Tuning Fork 主界面
使用 Tuning Fork 的主界面。
摘要
类型别名 |
|
---|---|
SwappyTracerFn)(const struct SwappyTracer *)
|
typedefvoid(*
指向 Swappy_injectTracers 的指针,可以附加到 TuningFork_Settings::swappy_tracer_fn。 |
TuningFork_CProtobufArray
|
typedefstruct TuningFork_CProtobufArray
表示序列化协议缓冲区数组的一系列字节。 |
TuningFork_CProtobufSerialization
|
typedef 表示序列化协议缓冲区的一系列字节。 |
TuningFork_Duration
|
typedefuint64_t
持续时间,单位为纳秒。 |
TuningFork_ErrorCode
|
typedefenum TuningFork_ErrorCode
Tuning Fork 函数可以返回的所有错误代码。 |
TuningFork_FidelityParamsCallback)(const TuningFork_CProtobufSerialization *)
|
typedefvoid(*
指向可附加到 TuningFork_Settings::fidelity_params_callback 的函数的指针。 |
TuningFork_InstrumentKey
|
typedefuint16_t
测量键用于标识帧或跟踪段中的一个计时点。 |
TuningFork_LifecycleState
|
typedef TuningFork_reportLifecycleEvent 方法接受的状态集。 |
TuningFork_LoadingEventHandle
|
typedefuint64_t
在 TuningFork_startRecordingLoadingTime 中使用的句柄。 |
TuningFork_LoadingGroupHandle
|
typedefuint64_t
在 TuningFork_startLoadingGroup 中使用的句柄。 |
TuningFork_LoadingTimeMetadata
|
typedef 与加载时间事件一起记录的元数据。 |
TuningFork_MetricLimits
|
typedefstruct TuningFork_MetricLimits
每种指标类型的数量限制。 |
TuningFork_Settings
|
typedefstruct TuningFork_Settings
初始化设置。未使用的任何值均设置为零。 |
TuningFork_Submission
|
typedefenum TuningFork_Submission
|
TuningFork_TimePoint
|
typedefuint64_t
自 Epoch 以来的毫秒数。 |
TuningFork_TraceHandle
|
typedefuint64_t
在 TuningFork_startTrace 中使用的跟踪句柄。 |
TuningFork_UploadCallback)(const char *message, size_t size)
|
typedefvoid(*
指向可传递给 TuningFork_setUploadCallback 的函数的指针。 |
结构体 |
|
---|---|
TuningFork_CProtobufArray |
表示序列化协议缓冲区数组的一系列字节。 |
TuningFork_CProtobufSerialization |
表示序列化协议缓冲区的一系列字节。 |
TuningFork_LoadingTimeMetadata |
与加载时间事件一起记录的元数据。 |
TuningFork_MetricLimits |
每种指标类型的数量限制。 |
TuningFork_Settings |
初始化设置。未使用的任何值均设置为零。 |
枚举
LoadingSource
LoadingSource
LoadingState
LoadingState
NetworkConnectivity
NetworkConnectivity
TuningFork_ErrorCode
TuningFork_ErrorCode
Tuning Fork 函数可以返回的所有错误代码。
TuningFork_InstrumentKeys
TuningFork_InstrumentKeys
表示帧内时间段的测量键。
键 64000-65535 保留
属性 | |
---|---|
TFTICK_CPU_TIME |
帧开始与调用 Swappy_swap 之间的时间。 |
TFTICK_GPU_TIME |
缓冲区交换与 GPU 栅栏触发之间的时间。 |
TFTICK_PACED_FRAME_TIME |
eglSwapBuffers 调用或 Vulkan 队列呈现结束之间的帧时间。 |
TFTICK_RAW_FRAME_TIME |
如果 GPU 时间可用,这是 MAX(CPU_TIME,GPU_TIME)。如果不可用,则与 PACED_FRAME_TIME 相同。 |
TuningFork_LifecycleState
TuningFork_LifecycleState
TuningFork_reportLifecycleEvent 方法接受的状态集。
TuningFork_Submission
TuningFork_Submission
类型别名
SwappyTracerFn
void(* SwappyTracerFn)(const struct SwappyTracer *)
指向 Swappy_injectTracers 的指针,可以附加到 TuningFork_Settings::swappy_tracer_fn。
另请参阅: TuningFork_Settings
TuningFork_CProtobufArray
struct TuningFork_CProtobufArray TuningFork_CProtobufArray
表示序列化协议缓冲区数组的一系列字节。
另请参阅:TuningFork_CProtobufArray_free,了解如何在处理完缓冲区后释放内存。
TuningFork_CProtobufSerialization
struct TuningFork_CProtobufSerialization TuningFork_CProtobufSerialization
表示序列化协议缓冲区的一系列字节。
另请参阅:TuningFork_CProtobufSerialization_free,了解如何在处理完缓冲区后释放内存。
TuningFork_Duration
uint64_t TuningFork_Duration
持续时间,单位为纳秒。
TuningFork_FidelityParamsCallback
void(* TuningFork_FidelityParamsCallback)(const TuningFork_CProtobufSerialization *)
指向可附加到 TuningFork_Settings::fidelity_params_callback 的函数的指针。
下载保真度参数后将调用的函数。另请参阅:TuningFork_Settings 保真度参数是游戏中 dev_tuningfork.proto 文件中定义的 FidelityParams 消息的序列化。此消息的结构完全由开发者决定,但有一些集成指南中概述的限制。
TuningFork_InstrumentKey
uint16_t TuningFork_InstrumentKey
测量键用于标识帧或跟踪段中的一个计时点。
TuningFork_LifecycleState
enum TuningFork_LifecycleState TuningFork_LifecycleState
TuningFork_reportLifecycleEvent 方法接受的状态集。
TuningFork_LoadingEventHandle
uint64_t TuningFork_LoadingEventHandle
在 TuningFork_startRecordingLoadingTime 中使用的句柄。
TuningFork_LoadingGroupHandle
uint64_t TuningFork_LoadingGroupHandle
在 TuningFork_startLoadingGroup 中使用的句柄。
TuningFork_LoadingTimeMetadata
struct TuningFork_LoadingTimeMetadata TuningFork_LoadingTimeMetadata
与加载时间事件一起记录的元数据。
TuningFork_MetricLimits
struct TuningFork_MetricLimits TuningFork_MetricLimits
每种指标类型的数量限制。
将所有值归零即可获取该类型的默认值。
帧时间:min(64, 注释组合的最大数量) * 测量键数量。
加载时间:32。
电池:32。
热量:32。
内存:15 个可能的内存指标。
TuningFork_Submission
enum TuningFork_Submission TuningFork_Submission
TuningFork_TimePoint
uint64_t TuningFork_TimePoint
自 Epoch 以来的毫秒数。
TuningFork_TraceHandle
uint64_t TuningFork_TraceHandle
在 TuningFork_startTrace 中使用的跟踪句柄。
TuningFork_UploadCallback
void(* TuningFork_UploadCallback)(const char *message, size_t size)
指向可传递给 TuningFork_setUploadCallback 的函数的指针。
每当 TuningFork 执行上传操作时,就会在一个单独的线程中调用该函数。另请参阅:TuningFork_Settings
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
函数
TuningFork_CProtobufArray_free
void TuningFork_CProtobufArray_free( TuningFork_CProtobufArray *array )
释放给定 protobuf 数组拥有的所有内存。
详细信息 | |||
---|---|---|---|
参数 |
|
TuningFork_CProtobufSerialization_free
void TuningFork_CProtobufSerialization_free( TuningFork_CProtobufSerialization *ser )
释放协议缓冲区序列化拥有的所有内存。
详细信息 | |||
---|---|---|---|
参数 |
|
TuningFork_destroy
TuningFork_ErrorCode TuningFork_destroy()
清除 Tuning Fork 拥有的所有内存并终止所有线程。
详细信息 | |
---|---|
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_enableMemoryRecording
TuningFork_ErrorCode TuningFork_enableMemoryRecording( bool enable )
启用或禁用内存遥测记录。
默认情况下,内存遥测记录在初始化时开启,但目前内存统计信息不会显示在 Play 界面中。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_endTrace
TuningFork_ErrorCode TuningFork_endTrace( TuningFork_TraceHandle handle )
停止并记录一个跟踪段。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果句柄无效,则返回 TUNINGFORK_ERROR_INVALID_TRACE_HANDLE。
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_flush
TuningFork_ErrorCode TuningFork_flush()
强制上传当前的直方图。
详细信息 | |
---|---|
返回值 |
如果可以发起上传,则返回 TUNINGFORK_ERROR_OK。
|
返回值 |
如果之前有上传阻止此上传,则返回 TUNINGFORK_ERROR_PREVIOUS_UPLOAD_PENDING。
|
返回值 |
如果自上次上传以来经过的时间不足一分钟,则返回 TUNINGFORK_ERROR_UPLOAD_TOO_FREQUENT。
|
TuningFork_frameDeltaTimeNanos
TuningFork_ErrorCode TuningFork_frameDeltaTimeNanos( TuningFork_InstrumentKey key, TuningFork_Duration dt )
使用外部时间(而非系统时间)记录一帧的计时。
另请参阅:上面的保留测量键
详细信息 | |||
---|---|---|---|
参数 |
|
||
参数 |
|
||
返回值 |
如果测量键无效,则返回 TUNINGFORK_ERROR_INVALID_INSTRUMENT_KEY。
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_frameTick
TuningFork_ErrorCode TuningFork_frameTick( TuningFork_InstrumentKey key )
记录一帧的计时,该计时将与测量键和当前注释相关联。
注意:允许从不同线程调用计时或跟踪函数,但单个测量键应始终从同一线程计时。另请参阅:上面的保留测量键
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果测量键无效,则返回 TUNINGFORK_ERROR_INVALID_INSTRUMENT_KEY。
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_getFidelityParameters
TuningFork_ErrorCode TuningFork_getFidelityParameters( const TuningFork_CProtobufSerialization *defaultParams, TuningFork_CProtobufSerialization *params, uint32_t timeout_ms )
一个阻塞调用,用于从服务器获取保真度参数。
如果您在 TuningFork_init 的设置中传递了 fidelity_params_callback,则无需调用此函数。请注意,一旦下载了保真度参数,任何计时信息都将记录为与这些参数关联。如果您随后调用 GetFidelityParameters 并下载了新的参数集,则已经收集的任何数据都将提交到后端。'params' 的所有权转移给调用者,因此他们在使用完毕后必须调用 params->dealloc。参数请求发送到:${url_base}+'applications/'+package_name+'/apks/'+version_number+':generateTuningParameters'。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
如果在下载参数之前发生超时,则返回 TUNINGFORK_ERROR_TIMEOUT。
|
||||||
返回值 |
如果尚未调用 TuningFork_init,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_init
TuningFork_ErrorCode TuningFork_init( const TuningFork_Settings *settings, JNIEnv *env, jobject context )
初始化 Tuning Fork。
此函数必须在调用任何其他函数之前调用。
库将从您的 tuningfork_settings.bin 文件加载直方图和注释设置。另请参阅:TuningFork_Settings,了解其他设置如何更改初始化行为的语义。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK,
|
||||||
返回值 |
如果没有找到设置,则返回 TUNINGFORK_ERROR_NO_SETTINGS,
|
||||||
返回值 |
如果您的 tuningfork_settings.bin 文件无效,则返回 TUNINGFORK_ERROR_BAD_SETTINGS,或
|
||||||
返回值 |
如果 tuningfork 已经初始化,则返回 TUNINGFORK_ERROR_ALREADY_INITIALIZED。
|
TuningFork_isFrameTimeLoggingPaused
bool TuningFork_isFrameTimeLoggingPaused()
检查帧时间记录是否已暂停。
详细信息 | |
---|---|
返回值 |
如果帧时间记录已暂停,则返回 true;否则返回 false。
|
TuningFork_pauseFrameTimeLogging
TuningFork_ErrorCode TuningFork_pauseFrameTimeLogging()
暂停将帧时间记录到帧时间直方图。
这对于在菜单或加载期间禁用帧时间记录很有用。
详细信息 | |
---|---|
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
返回值 |
如果日志记录已暂停,则返回 TUNINGFORK_ERROR_FRAME_LOGGING_ALREADY_PAUSED
|
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_predictQualityLevels
TuningFork_ErrorCode TuningFork_predictQualityLevels( TuningFork_CProtobufArray *qualityLevels, uint32_t target_frame_time_ms, uint32_t timeout_ms )
一个阻塞调用,用于从服务器获取质量等级预测。
详细信息 | |||||||
---|---|---|---|---|---|---|---|
参数 |
|
||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||||||
返回值 |
如果在返回预测之前发生超时,则返回 TUNINGFORK_ERROR_TIMEOUT。
|
||||||
返回值 |
如果调用服务器失败,则返回 TUNINGFORK_ERROR_PREDICT_QUALITY_LEVELS_RESPONSE_ERROR。
|
||||||
返回值 |
如果无法解析响应,则返回 TUNINGFORK_ERROR_PREDICT_QUALITY_LEVELS_PARSE_ERROR。
|
TuningFork_recordLoadingTime
TuningFork_ErrorCode TuningFork_recordLoadingTime( uint64_t time_ns, const TuningFork_LoadingTimeMetadata *eventMetadata, uint32_t eventMetadataSize, const TuningFork_CProtobufSerialization *annotation )
记录加载时间事件。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||||||||
返回值 |
如果在元数据中未设置状态,则返回 TUNINGFORK_ERROR_INVALID_LOADING_STATE。
|
TuningFork_reportLifecycleEvent
TuningFork_ErrorCode TuningFork_reportLifecycleEvent( TuningFork_LifecycleState state )
记录应用生命周期的状态变化。
每次触发应用的 onCreate()、onStart()、onStop() 和 onDestroy() 方法时都应调用此方法。这将有助于 Tuning Fork 准确跟踪应用何时在前台或后台。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_resumeFrameTimeLogging
TuningFork_ErrorCode TuningFork_resumeFrameTimeLogging()
恢复将帧时间记录到帧时间直方图。
详细信息 | |
---|---|
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
返回值 |
如果日志记录未暂停,则返回 TUNINGFORK_ERROR_FRAME_LOGGING_ALREADY_RUNNING
|
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_setAggregationStrategyInterval
TuningFork_ErrorCode TuningFork_setAggregationStrategyInterval( TuningFork_Submission method, uint32_t interval_ms_or_count )
设置直方图上传间隔,覆盖设置中的值。
另请参阅: TuningFork_frameTick
详细信息 | |||||
---|---|---|---|---|---|
参数 |
|
||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||||
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
||||
返回值 |
如果 method 不是 TIME_BASED 或 TICK_BASED,或者 interval_ms_or_count 为 0 或大于一天,则返回 TUNINGFORK_ERROR_BAD_PARAMETER。
|
TuningFork_setCurrentAnnotation
TuningFork_ErrorCode TuningFork_setCurrentAnnotation( const TuningFork_CProtobufSerialization *annotation )
设置当前注释。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
如果注释与设置不一致,则返回 TUNINGFORK_ERROR_INVALID_ANNOTATION。
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_setFidelityParameters
TuningFork_ErrorCode TuningFork_setFidelityParameters( const TuningFork_CProtobufSerialization *params )
设置当前活动的保真度参数。
如果在实验模式下,此函数将覆盖任何已下载的参数。例如,当玩家手动更改游戏质量设置时使用此函数。这将刷新(即上传)与任何先前参数相关联的数据。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_setUploadCallback
TuningFork_ErrorCode TuningFork_setUploadCallback( TuningFork_UploadCallback cbk )
设置一个回调函数,每当 TuningFork 执行上传操作时,就会在一个单独的线程中调用该函数。
详细信息 | |||
---|---|---|---|
参数 |
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||
返回值 |
如果 Tuning Fork 未初始化,则返回 TUNINGFORK_ERROR_TUNINGFORK_NOT_INITIALIZED。
|
TuningFork_startLoadingGroup
TuningFork_ErrorCode TuningFork_startLoadingGroup( const TuningFork_LoadingTimeMetadata *eventMetadata, uint32_t eventMetadataSize, const TuningFork_CProtobufSerialization *annotation, TuningFork_LoadingGroupHandle *handle )
开始一个加载组。
在此 group 之后,后续加载时间将带上此 group 的 id,直到再次调用 startLoadingGroup 或调用 stopLoadingGroup。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||||||||
返回值 |
如果在元数据中未设置状态,则返回 TUNINGFORK_ERROR_INVALID_LOADING_STATE。
|
TuningFork_startRecordingLoadingTime
TuningFork_ErrorCode TuningFork_startRecordingLoadingTime( const TuningFork_LoadingTimeMetadata *eventMetadata, uint32_t eventMetadataSize, const TuningFork_CProtobufSerialization *annotation, TuningFork_LoadingEventHandle *handle )
记录加载事件的开始时间。
详细信息 | |||||||||
---|---|---|---|---|---|---|---|---|---|
参数 |
|
||||||||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
||||||||
返回值 |
如果在元数据中未设置状态,则返回 TUNINGFORK_ERROR_INVALID_LOADING_STATE。
|
TuningFork_startTrace
TuningFork_ErrorCode TuningFork_startTrace( TuningFork_InstrumentKey key, TuningFork_TraceHandle *handle )
开始一个跟踪段。
另请参阅:上面的保留测量键
详细信息 | |||
---|---|---|---|
参数 |
|
||
参数 |
|
||
返回值 |
如果测量键无效,则返回 TUNINGFORK_ERROR_INVALID_INSTRUMENT_KEY。
|
||
返回值 |
成功时返回 TUNINGFORK_ERROR_OK。
|
TuningFork_stopLoadingGroup
TuningFork_ErrorCode TuningFork_stopLoadingGroup( TuningFork_LoadingGroupHandle handle )
停止将事件记录为属于一个组,并记录一个组事件。
详细信息 | |||
---|---|---|---|
参数 |
|
TuningFork_stopRecordingLoadingTime
TuningFork_ErrorCode TuningFork_stopRecordingLoadingTime( TuningFork_LoadingEventHandle handle )
记录加载事件的结束时间。
详细信息 | |||
---|---|---|---|
参数 |
|
Tuningfork_versionString
const char * Tuningfork_versionString()
获取 Tuning Fork API 版本,作为以 null 结尾的 ASCII 字符串。