Wozu wird denn ein Timer überhaupt benötigt?
Wenn ich wissen möchte, wieviel Zeit vergangen ist zwischen dem Zeitpunkt x und y, dann berechne ich das einfach. Dazu benötige ich keinen Timer und zum Zeitpunkt der Abfrage ist der Wert zuverlässig genau.
Schöne Lösung, aber rate mal, welche Auflösung/Genauigkeit sie hat. Richtig, exakt dieselbe wie timeGetTime. D.h. standardmäßig 15,625 ms, es sei denn die globale Timer-Auflösung wurde per timeBeginPeriod / NtSetTimerResolution verändert.
Übrigens: Die RAD Studio IDE setzt die Timer-Auflösung auf 1 ms! Das hat mich beim Debuggen schon mal gebissen. Hatte timeBeginPeriod(1) in meinem Programm vergessen und mich gewundert, warum es nur richtig lief wenn es aus der
IDE heraus gestartet wurde, nicht allein.
Mit
diesem kleinen Konsolenprogramm kann man minimale und aktuelle Auflösung der Multimedia-Timer ansehen.