As seções a seguir descrevem tópicos de uso avançados que não são necessários para a operação normal da biblioteca.
Outros rastreadores compatíveis
O Tuning Fork é compatível com vários rastreadores. Os rastreadores com as seguintes chaves de instrumento são compatíveis:
- Tempo entre o início do frame (chamado
PACED_FRAME_TIME
) - Tempo de CPU: tempo entre o início do frame e o fim do trabalho da CPU
para o frame (chamado
CPU_TIME
) - Tempo de GPU: tempo para processamento do frame anterior pela GPU (chamado
GPU_TIME
) - Tempo bruto para a renderização do frame, definido como o máximo do tempo de CPU e GPU (chamado
RAW_FRAME_TIME
). A diferença entre essa opção ePACED_FRAME_TIME
é que essa opção não inclui nenhum tempo de espera acrescentado pelo Swappy ou VSync.
É possível encontrar essas chaves de instrumento na documentação de referência. Algumas chaves são automaticamente usadas quando você ativa a biblioteca Android Frame Pacing. No entanto, caso você não tenha essa biblioteca ativada, use as chaves de forma explícita.
Receber parâmetros de fidelidade
Se você transmitir fidelity_params_callback
para TuningFork_init
nas configurações ou se a
biblioteca estiver no modo dimensionado, não será necessário chamar essa função.
Essa função entra em contato com um servidor para recuperar parâmetros de fidelidade. Ela é bloqueada até que uma das seguintes situações ocorra:
- Os parâmetros de fidelidade são recuperados com um valor de retorno de
TFERROR_OK
e são armazenados porreturnedParams
. Nesse caso, todos os dados de marcação posteriores são associados areturnedParams
. - Um total de milissegundos igual a
timeout_ms
é transmitido, com um valor de retorno deTFERROR_TIMEOUT
. Nesse caso, todos os dados de marcação posteriores são associados adefaultFidelityParams
.
É necessário chamar TuningFork_init()
antes dessa função, em uma
linha de execução separada da principal (consulte
TuningFork_startFidelityParamDownloadThread()
para ver uma função de utilitário que faz isso por você). É possível chamar essa função
novamente, por exemplo, no tempo de carregamento do nível, para recuperar parâmetros de fidelidade do
servidor mais uma vez. Isso permite que você atualize os parâmetros de forma dinâmica, em vez de
precisar carregá-los apenas na inicialização. Se novos parâmetros de fidelidade forem
transferidos por download ou um novo padrão for usado, todos os dados de marcação anteriores serão enviados.