Utilizzo avanzato

Le seguenti sezioni descrivono gli argomenti di utilizzo avanzato non necessari per il normale funzionamento della libreria.

Altri tracciatori supportati

Il diapason supporta più tracciatori. Sono supportati i tracer con le seguenti chiavi strumento:

  • Tempo tra l'inizio del frame (denominato PACED_FRAME_TIME)
  • Tempo di CPU: il tempo che intercorre tra l'inizio del frame e la fine del funzionamento della CPU per il frame (chiamato CPU_TIME)
  • Tempo GPU: tempo impiegato dalla GPU per gestire il frame precedente (denominato GPU_TIME).
  • La durata frame non elaborati, definita come il tempo massimo di CPU e GPU (denominata RAW_FRAME_TIME). La differenza tra questa opzione e PACED_FRAME_TIME è che questa opzione non include i tempi di attesa inclusi da Stackpy o VSync.

Puoi trovare queste chiavi degli strumenti nella documentazione di riferimento. Alcune di queste chiavi vengono usate automaticamente quando attivi la libreria del pacing frame Android, ma se non la attivi, dovresti usarle esplicitamente.

Ottieni parametri di fedeltà

TFErrorCode TuningFork_getFidelityParameters(const CProtobufSerialization* defaultParams, CProtobufSerialization* params, uint32_t timeout_ms);

Se passi fidelity_params_callback a TuningFork_init nelle impostazioni o la libreria è in modalità scalata, non è necessario chiamare questa funzione.

Questa funzione contatta un server per recuperare i parametri di fedeltà. Si blocca finché non si verifica uno dei seguenti casi:

  • I parametri di fedeltà vengono recuperati, con un valore restituito TFERROR_OK e returnedParams archiviano i parametri. In questo caso, tutti i dati dei successivi segni di graduazione sono associati a returnedParams.
  • Un numero di millisecondi pari a timeout_ms passaggi, con un valore restituito di TFERROR_TIMEOUT. In questo caso, tutti i dati dei segni di graduazione successivi sono associati a defaultFidelityParams.

Devi chiamare TuningFork_init() prima di questa funzione e devi chiamarla in un thread separato dal thread principale (vedi TuningFork_startFidelityParamDownloadThread() per una funzione di utilità che lo fa per te). Puoi chiamare di nuovo questa funzione, ad esempio durante il caricamento del livello, per recuperare di nuovo i parametri di fedeltà dal server. In questo modo, puoi aggiornare i parametri in modo dinamico, anziché ricaricarli solo all'avvio. Se vengono scaricati nuovi parametri di fedeltà o viene utilizzato un nuovo parametro predefinito, vengono inviati tutti i dati di graduazione precedenti.