В следующих разделах описываются темы расширенного использования, не требующиеся для нормальной работы библиотеки.
Другие поддерживаемые трассировщики
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() , где описана вспомогательная функция, выполняющая эту функцию). Вы можете вызвать эту функцию повторно, например, во время загрузки уровня, чтобы снова получить параметры точности с сервера. Это позволяет динамически обновлять параметры, а не загружать их только при запуске. При загрузке новых параметров точности или использовании нового значения по умолчанию все предыдущие данные тиков передаются.