В следующих разделах описываются темы расширенного использования, не необходимые для нормальной работы библиотеки.
Другие поддерживаемые трассеры
Tuning Fork поддерживает несколько трассировщиков. Поддерживаются трассеры со следующими клавишами инструментов:
- Время между запусками кадров (называемое
PACED_FRAME_TIME
) - Время ЦП: время между началом кадра и окончанием работы ЦП для кадра (называемое
CPU_TIME
). - Время графического процессора: время обработки предыдущего кадра графическим процессором (называемое
GPU_TIME
). - Время необработанного кадра, определяемое как максимальное время процессора и графического процессора (называемое
RAW_FRAME_TIME
). Разница между этой опцией иPACED_FRAME_TIME
заключается в том, что эта опция не включает время ожидания, включенное Swappy или VSync.
Эти клавиши прибора вы можете найти в справочной документации . Некоторые из этих клавиш используются автоматически при включении библиотеки Android Frame Pacing, но если вы не включаете эту библиотеку, вам следует использовать их явно.
Получить параметры точности
Если вы передаете 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, но если вы не включаете эту библиотеку, вам следует использовать их явно.
Получить параметры точности
Если вы передаете fidelity_params_callback
в TuningFork_init
в настройках или библиотека находится в масштабируемом режиме, вам не нужно вызывать эту функцию.
Эта функция связывается с сервером для получения параметров точности. Он блокируется до тех пор, пока не произойдет одно из следующих событий:
- Параметры Fidelity извлекаются с возвращаемым значением
TFERROR_OK
, аreturnedParams
сохраняет параметры. В этом случае все последующие данные тиков связаны сreturnedParams
. - Проходит количество миллисекунд, равное
timeout_ms
, с возвращаемым значениемTFERROR_TIMEOUT
. В этом случае все последующие данные тиков связаны сdefaultFidelityParams
.
Вы должны вызвать TuningFork_init()
перед этой функцией, и вы должны вызвать ее в потоке, отдельном от основного потока (см. TuningFork_startFidelityParamDownloadThread()
, где описана вспомогательная функция, которая делает это за вас). Вы можете вызвать эту функцию еще раз, например, во время загрузки уровня, чтобы снова получить параметры точности с сервера. Это позволяет динамически обновлять параметры, а не перезагружать их только при запуске. Если загружаются новые параметры точности или используется новое значение по умолчанию, передаются все предыдущие тиковые данные.