En las siguientes secciones, se describen los temas de uso avanzado que no son necesarios para el funcionamiento normal de la biblioteca.
Otros rastreadores compatibles
Tuning Fork es compatible con varios rastreadores. Se admiten aquellos que cuenten con las siguientes etiquetas de marca:
- Tiempo entre el inicio de los fotogramas (llamado
PACED_FRAME_TIME
) - Tiempo de CPU: tiempo entre el inicio del fotograma y el final del trabajo de la CPU asociado a este (llamado
CPU_TIME
) - Tiempo de GPU: tiempo que tiene la GPU para controlar el fotograma anterior (llamado
GPU_TIME
) - Latencia de fotogramas sin procesar, que corresponde al mayor de los tiempos de CPU y GPU (llamado
RAW_FRAME_TIME
). La diferencia entre esta opción yPACED_FRAME_TIME
es que esta no contempla ningún tiempo de espera incluido por Swappy o VSync.
Puedes encontrar estas etiquetas de marca en la documentación de referencia. Algunas de ellas se usan automáticamente cuando habilitas la biblioteca de Android Frame Pacing, pero, si no lo haces, deberás usarlas de manera explícita.
Cómo obtener parámetros de fidelidad
No es necesario que llames a esta función si pasas fidelity_params_callback
a TuningFork_init
en la configuración o si la biblioteca está en modo de ajuste.
Esta función contacta a un servidor a fin de recuperar parámetros de fidelidad. Se bloquea hasta que tenga lugar una de las siguientes acciones:
- Se recuperan los parámetros de fidelidad, se muestra un valor
TFERROR_OK
yreturnedParams
almacena los parámetros. En este caso, todos los datos de marcas posteriores se asociarán conreturnedParams
. - Transcurre una cantidad de milisegundos equivalente a
timeout_ms
y se muestra un valorTFERROR_TIMEOUT
. En este caso, todos los datos de marcas posteriores se asociarán condefaultFidelityParams
.
Debes llamar a TuningFork_init()
antes de esta función, y debes hacerlo en un subproceso independiente del principal (consulta TuningFork_startFidelityParamDownloadThread()
para encontrar una función de utilidad que haga esto por ti). Puedes llamar a esta función nuevamente, por ejemplo, al momento de cargar los niveles, a fin de obtener los parámetros de fidelidad desde el servidor una vez más. Esto te permite actualizar de manera dinámica los parámetros, en lugar de volver a cargarlos solo durante el inicio. Si se descargan nuevos parámetros de fidelidad o se usa un valor predeterminado nuevo, se enviarán todos los datos de marcas anteriores.