Les sections suivantes décrivent les sujets d'utilisation avancée qui ne sont pas nécessaires au fonctionnement normal de la bibliothèque.
Autres traceurs compatibles
Tuning Fork accepte plusieurs traceurs. Les traceurs avec les clés d'instrumentation suivantes sont acceptés :
- Délai entre les débuts de frame (appelé
PACED_FRAME_TIME
). - Temps CPU : temps écoulé entre le début du frame et la fin de la tâche du processeur pour ce frame (appelé
CPU_TIME
). - Temps GPU : délai de traitement du frame précédent par le GPU (appelé
GPU_TIME
). - Temps de rendu brut, défini comme le maximum du temps CPU et GPU (appelé
RAW_FRAME_TIME
). La différence entre cette option etPACED_FRAME_TIME
est qu'elle ne tient pas compte du temps d'attente inclus dans Swappy ou VSync.
Vous trouverez ces clés d'instrumentation dans la documentation de référence. Certaines de ces clés sont utilisées automatiquement lorsque vous activez la bibliothèque Android Frame Pacing. Si vous n'activez pas cette bibliothèque, vous devrez les utiliser explicitement.
Obtenir les paramètres de fidélité
Si vous transmettez fidelity_params_callback
à TuningFork_init
dans les paramètres ou que la bibliothèque est en mode de mise à l'échelle, vous n'avez pas besoin d'appeler cette fonction.
Cette fonction contacte un serveur pour récupérer les paramètres de fidélité. Elle est verrouillée jusqu'à ce que l'un des événements suivants se produise :
- Les paramètres de fidélité sont récupérés, avec la valeur renvoyée
TFERROR_OK
, etreturnedParams
stocke les paramètres. Dans ce cas, toutes les données tick ultérieures seront associées àreturnedParams
. - Un nombre de millisecondes égal à
timeout_ms
s'écoule, avec la valeur renvoyéeTFERROR_TIMEOUT
. Dans ce cas, toutes les données tick ultérieures seront associées àdefaultFidelityParams
.
Vous devez appeler TuningFork_init()
avant cette fonction et sur un thread distinct du thread principal (consultez la section TuningFork_startFidelityParamDownloadThread()
pour vous familiariser avec une fonction utilitaire qui s'en chargera pour vous). Vous pouvez appeler une nouvelle fois cette fonction, par exemple lors du chargement de niveau, afin de récupérer à nouveau les paramètres de fidélité du serveur. Cela vous permet de mettre à jour les paramètres de manière dynamique au lieu de devoir les actualiser seulement au démarrage. Si de nouveaux paramètres de fidélité sont téléchargés ou qu'une nouvelle valeur par défaut est utilisée, toutes les données tick précédentes seront envoyées.