Temat stary jak swiat ale na swoje pytanie nie znalazlem odpowiedzi...
generalnie chodzi o to aby zmierzyc (odczekac) krotki okres czasu (tzn mniejszy niz 10ms).
Po niekrotkich poszukiwaniach doszedlem do napisania funkcji:
procedure CzekajXms(x: integer);
var start,cur,delay,freq: int64;
begin
QueryPerformanceCounter(start);
QueryPerformanceFrequency(freq); //ile razy na sekunde
delay := round(x/1000*freq);
cur := start;
while cur-start < delay do
QueryPerformanceCounter(cur);
end;
No i pieknie dziala, zmieniajac przelicznik moznaby odmierzac tez duzo mniejsze okresy...
Ale problem sie pojawil nastepny...
w moim programie bardzo czesto musze odczekac te 5ms... mniej wiecej raz na 10-20ms...
a to prowadzi do tego ze przez prawie caly czas wykonuje sie petla while, co skutkuje niepotrzebnym obciazeniem procesora...
czy ktos ma jakis pomysl jak odczekac 5ms bez obciazania procesora? (i bez blokowania okienka programu - zatem usleep odpada)