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