Danilos Highres-Timer-Procedure
Verfasst: 13.12.2004 16:03
Ich hab aus dem alten Forum die Timer()-Routine von Danilo nochmal herausgekramt. Diese Routine scheint mir für eine zeitbasierte Spielsteuerung sehr gut zu funktionieren (besser als ElapsedMilliseconds). Mein Spiel läuft damit plötzlich viel flüssiger. 
Meine Frage (@Danilo): Was genau wird denn in InitGameTimer() gemacht bzw. warum läuft mein Spiel damit so flüssig und wo genau ist der Unterschied zu den anderen Methoden ElapsedMilliseconds() und GetTickCount_()?

Meine Frage (@Danilo): Was genau wird denn in InitGameTimer() gemacht bzw. warum läuft mein Spiel damit so flüssig und wo genau ist der Unterschied zu den anderen Methoden ElapsedMilliseconds() und GetTickCount_()?
Code: Alles auswählen
Procedure InitGameTimer()
Shared _GT_DevCaps.TIMECAPS
SetPriorityClass_(GetCurrentProcess_(),#HIGH_PRIORITY_CLASS)
timeGetDevCaps_(_GT_DevCaps,SizeOf(TIMECAPS))
timeBeginPeriod_(_GT_DevCaps\wPeriodMin)
EndProcedure
Procedure StopGameTimer()
Shared _GT_DevCaps.TIMECAPS
timeEndPeriod_(_GT_DevCaps\wPeriodMin)
EndProcedure
InitGameTimer()
Debug timeGetTime_()
Debug ElapsedMilliseconds()
Debug GetTickCount_()
StopGameTimer()