dilinger (./9) :
Pour le moment, chaque timer est géré par un callback qui (semble) se déclencher selon la formule de calcul reporté dans les docs.
Oui et c'est intelligent. Si tu fais une décrémentation + vérif à chaque cycle d'horloge, tu vas taxer facilement 100-200+ millions de cycles par seconde (25 MHz X cycles pour appeler ton callback, décrémentation, check et restaurer l'exécution). Bon de nos jours on s'en fout probablement, mais pour l'efficacité, normalement il faut faire comme ils font pour les timers. Tu notes la dernière valeur qui a été écrite et quand (donc il te faut un "global cycle counter"), et quand le jeu va lire la valeur, tu retournes "last written value" - ("global cycle counter now" - "global cycle counter at last write").