Tu as peut-être un conflit avec le fait que ton prog est déjà bridé par flipbuffers(), qui attend la synchro d'affichage. Le problème c'est que tu n'auras pas forcément la même fréquence sur toutes les configs (par ex mon moniteur refuse catégoriquement de dépasser le 75 Hz).
Tu peux essayer d'utiliser flipbuffer(0), pour ne pas attendre la synchro... Reste à voir si tes graphismes n'en souffrent pas !
Tu as peut-être aussi des soucis avec le manque précision de ellapsedmilliseconds(), qui n'est pas vraiment à la milliseconde près...
Tu peux essayer l'api QueryPerformanceCounter_(), pour plus de précision. Comme cette api utilise les entiers 64bits, voici un petit "wrapper" maison:
Code : Tout sélectionner
;Cette variable est là pour retenir la précision du timer
Global _hrtimerfreq.large_integer
;Cette ligne doit être exécutée une fois au début du prog pour connaître la précision du compteur
QueryPerformanceFrequency_(@_hrtimerfreq)
;cette proc renvoie un timer en secondes (pas milli) sous forme de flottant (pas entier!!)
Procedure.f secs()
QueryPerformanceCounter_(@hrnow.large_integer)
!fild qword[esp]
!fild qword[v__hrtimerfreq]
!fdivp
ProcedureReturn
EndProcedure
Voilà, j'espère que ça va dans la bonne direction^^