Erstmal danke für die vielen Antworten!
Ich denk mit den Funktionen QueryPerformanceTimer bzw. QueryPerformanceFrequency ist mein Problem gelöst...
Danke Gruber_Hans_12345!
@Grandalfus:
Echt gutes Tutorial!
Aber eine Variante für nen Timer hätte ich noch. Und zwar ist das eine Komination der Sleep Variante und der High Performance Variante. Das ist jetzt ein Beispiel, so wie ich es zur Zeit mache:
(Zuerst den großen Zeitabschnitt grob mit Sleep abwarten. Dann den Rest genau mit der HighPerformance-methode abwarten.)
Delphi-Quellcode:
QueryPerformanceCounter(a);
Restzeit := Zeit - (b-a)*1000 div f;
while RestZeit > 70 do begin
Application.ProcessMessages;
if abbruch then
Exit;
Sleep(50);
QueryPerformanceCounter(b);
Restzeit := Zeit - (b-a)*1000 div f;
end;
QueryPerformanceCounter(b);
while s > (b-a) do begin
QueryPerformanceCounter(b);
end;