高级用法

以下部分概述了库正常运行不需要的高级用法主题。

其他支持的跟踪器

Tuning Fork支持多个跟踪器。支持具有以下工具键的跟踪器

  • 帧开始之间的时间(称为PACED_FRAME_TIME
  • CPU时间:帧开始到帧CPU工作结束之间的时间(称为CPU_TIME
  • GPU时间:前一帧由GPU处理的时间(称为GPU_TIME
  • 原始帧时间,定义为CPU和GPU时间的最大值(称为RAW_FRAME_TIME)。此选项与PACED_FRAME_TIME的区别在于,此选项不包括Swappy或VSync包含的任何等待时间。

您可以在参考文档中找到这些工具键。启用Android帧速率调整库时,会自动使用其中一些键,但如果您没有启用此库,则应显式使用它们。

获取保真度参数

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

如果您将fidelity_params_callback传递给设置中的TuningFork_init或库处于缩放模式,则无需调用此函数。

此函数联系服务器以检索保真度参数。它会阻塞,直到发生以下情况之一

  • 检索到保真度参数,返回值为TFERROR_OK,并且returnedParams存储参数。在这种情况下,所有后续滴答数据都与returnedParams关联。
  • 经过timeout_ms毫秒数,返回值为TFERROR_TIMEOUT。在这种情况下,所有后续滴答数据都与defaultFidelityParams关联。

您必须在此函数之前调用TuningFork_init(),并且必须在主线程之外的单独线程上调用它(参见TuningFork_startFidelityParamDownloadThread(),这是一个为您执行此操作的实用程序函数)。您可以再次调用此函数,例如在关卡加载时,以再次从服务器检索保真度参数。这允许您动态更新参数,而不必仅在启动时重新加载它们。如果下载了新的保真度参数或使用了新的默认值,则会提交所有以前的滴答数据。