Utilizzo avanzato

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

Altri tracer supportati

Tuning Fork supporta più tracer. Sono supportati i tracer con le seguenti chiavi di strumentazione:

  • Tempo tra l'inizio dei frame (chiamato PACED_FRAME_TIME)
  • Tempo CPU: tempo che intercorre tra l'inizio del frame e la fine dell'attività della CPU per il frame (chiamato CPU_TIME)
  • Tempo GPU: tempo necessario per la gestione del frame precedente da parte della GPU (chiamato GPU_TIME)
  • Il tempo di frame grezzo, definito come il massimo tra il tempo della CPU e della GPU (chiamato RAW_FRAME_TIME). La differenza tra questa opzione e PACED_FRAME_TIME è che questa opzione non include alcun tempo di attesa incluso da Swappy o VSync.

Puoi trovare queste chiavi dello strumento nella documentazione di riferimento. Alcune di queste chiavi vengono utilizzate automaticamente quando abiliti la libreria Android Frame Pacing, ma se non la abiliti, devi utilizzarle esplicitamente.

Recuperare i 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 devi chiamare questa funzione.

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

  • I parametri di fedeltà vengono recuperati, con un valore restituito di TFERROR_OK e returnedParams memorizza i parametri. In questo caso, tutti i dati successivi sono associati a returnedParams.
  • Un numero di millisecondi pari a timeout_ms viene superato, con un valore restituito di TFERROR_TIMEOUT. In questo caso, tutti i dati tick successivi sono associati a defaultFidelityParams.

Devi chiamare TuningFork_init() prima di questa funzione e devi chiamarla su 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 al momento del caricamento del livello, per recuperare di nuovo i parametri di fedeltà dal server. In questo modo puoi aggiornare dinamicamente i parametri anziché doverli ricaricare solo all'avvio. Se vengono scaricati nuovi parametri di fedeltà o viene utilizzato un nuovo valore predefinito, vengono inviati tutti i dati tick precedenti.