Расширенное использование

В следующих разделах описываются темы расширенного использования, не необходимые для нормальной работы библиотеки.

Другие поддерживаемые трассеры

Tuning Fork поддерживает несколько трассировщиков. Поддерживаются трассеры со следующими клавишами инструментов:

  • Время между запусками кадров (называемое PACED_FRAME_TIME )
  • Время ЦП: время между началом кадра и окончанием работы ЦП для кадра (называемое CPU_TIME ).
  • Время графического процессора: время обработки предыдущего кадра графическим процессором (называемое GPU_TIME ).
  • Время необработанного кадра, определяемое как максимальное время процессора и графического процессора (называемое RAW_FRAME_TIME ). Разница между этой опцией и PACED_FRAME_TIME заключается в том, что эта опция не включает время ожидания, включенное Swappy или VSync.

Эти клавиши прибора вы можете найти в справочной документации . Некоторые из этих клавиш используются автоматически при включении библиотеки Android Frame Pacing, но если вы не включаете эту библиотеку, вам следует использовать их явно.

Получить параметры точности

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

Если вы передаете fidelity_params_callback в TuningFork_init в настройках или библиотека находится в масштабируемом режиме, вам не нужно вызывать эту функцию.

Эта функция связывается с сервером для получения параметров точности. Он блокируется до тех пор, пока не произойдет одно из следующих событий:

  • Параметры Fidelity извлекаются с возвращаемым значением TFERROR_OK , а returnedParams сохраняет параметры. В этом случае все последующие данные тиков связаны с returnedParams .
  • Проходит количество миллисекунд, равное timeout_ms , с возвращаемым значением TFERROR_TIMEOUT . В этом случае все последующие данные тиков связаны с defaultFidelityParams .

Вы должны вызвать TuningFork_init() перед этой функцией, и вы должны вызвать ее в потоке, отдельном от основного потока (см. TuningFork_startFidelityParamDownloadThread() , где описана вспомогательная функция, которая делает это за вас). Вы можете вызвать эту функцию еще раз, например, во время загрузки уровня, чтобы снова получить параметры точности с сервера. Это позволяет динамически обновлять параметры, а не перезагружать их только при запуске. Если загружаются новые параметры точности или используется новое значение по умолчанию, передаются все предыдущие тиковые данные.

,

В следующих разделах описываются расширенные темы использования, не необходимые для нормальной работы библиотеки.

Другие поддерживаемые трассеры

Tuning Fork поддерживает несколько трассировщиков. Поддерживаются трассеры со следующими клавишами инструментов:

  • Время между запусками кадров (называемое PACED_FRAME_TIME )
  • Время ЦП: время между началом кадра и окончанием работы ЦП для кадра (называемое CPU_TIME ).
  • Время графического процессора: время обработки предыдущего кадра графическим процессором (называемое GPU_TIME ).
  • Время необработанного кадра, определяемое как максимальное время процессора и графического процессора (называемое RAW_FRAME_TIME ). Разница между этой опцией и PACED_FRAME_TIME заключается в том, что эта опция не включает время ожидания, включенное Swappy или VSync.

Эти клавиши прибора вы можете найти в справочной документации . Некоторые из этих клавиш используются автоматически при включении библиотеки Android Frame Pacing, но если вы не включаете эту библиотеку, вам следует использовать их явно.

Получить параметры точности

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

Если вы передаете fidelity_params_callback в TuningFork_init в настройках или библиотека находится в масштабируемом режиме, вам не нужно вызывать эту функцию.

Эта функция связывается с сервером для получения параметров точности. Он блокируется до тех пор, пока не произойдет одно из следующих событий:

  • Параметры Fidelity извлекаются с возвращаемым значением TFERROR_OK , а returnedParams сохраняет параметры. В этом случае все последующие данные тиков связаны с returnedParams .
  • Проходит количество миллисекунд, равное timeout_ms , с возвращаемым значением TFERROR_TIMEOUT . В этом случае все последующие данные тиков связаны с defaultFidelityParams .

Вы должны вызвать TuningFork_init() перед этой функцией, и вы должны вызвать ее в потоке, отдельном от основного потока (см. TuningFork_startFidelityParamDownloadThread() , где описана вспомогательная функция, которая делает это за вас). Вы можете вызвать эту функцию еще раз, например, во время загрузки уровня, чтобы снова получить параметры точности с сервера. Это позволяет динамически обновлять параметры, а не перезагружать их только при запуске. Если загружаются новые параметры точности или используется новое значение по умолчанию, передаются все предыдущие тиковые данные.