Utilizzo avanzato

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

Altre tracce supportate

Diapason supporta più tracce. Sono supportate le tracce con le seguenti chiavi strumento:

  • Tempo tra gli inizi del frame (denominato PACED_FRAME_TIME)
  • Tempo di CPU: tempo tra l'inizio del frame e la fine del funzionamento della CPU per il frame (chiamato CPU_TIME)
  • Tempo GPU: tempo necessario alla GPU per la gestione del frame precedente (denominato GPU_TIME)
  • La durata frame non elaborata, definita come il tempo massimo della CPU e della GPU (denominato RAW_FRAME_TIME). La differenza tra questa opzione e PACED_FRAME_TIME è che questa opzione non include i tempi di attesa inclusi da Swappy o VSync.

Le chiavi degli strumenti sono disponibili nella documentazione di riferimento. Alcune di queste chiavi vengono usate automaticamente quando attivi la libreria di pacing frame Android; se però non la attivi, dovresti usarle esplicitamente.

Recupero 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 se 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 pari a TFERROR_OK e returnedParams archivia i parametri. In questo caso, tutti i successivi dati sui 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 successivi dati di graduazione sono associati a defaultFidelityParams.

Devi chiamare TuningFork_init() prima di questa funzione e chiamarla in un thread separato dal thread principale (vedi TuningFork_startFidelityParamDownloadThread() per una funzione di utilità che esegue questa operazione 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 invece di doverli ricaricare solo all'avvio. Se vengono scaricati nuovi parametri di fedeltà o si utilizza un nuovo parametro predefinito, vengono inviati tutti i dati di graduazione precedenti.