W forum 4 sierp 2003 otrzymałem od Ciebie ciekawą wypowiedź na temat High Performance Timer. Byłoby to coś czego potrzebuję...Jednak obawiam się że te funkcje nie są zaimplementowane w Delphi..ponieważ nie znalazłem ich ani w Help ani w podręcznikach.. Może Ty coś wiesz bliżej na ten temat..Czekam na odpowiedź... A to kopia Twojej odpowiedzi::::
tjanusz 04-08-2003 10:32
TTimer nie potrafi liczyć co 1 ms. Jego rozdzielczość dla dosopochodnych windoz to ok. 55 ms, dla NT ok. 10 ms, a więc i tak dużo więcej niż byś chciał. Ma to związek raczej z przerwaniem zegara niż szybkością procesora.
Do mierzenia krótkich czasów można użyć zegara wysokiej dokładności (High Performance Timer). Jest to licznik uzupełniany ze stałą i bardzo dzużą częstotliwością.
Funkcja QueryPerformanceFrequency(var x:Int64) podaje częstotliwość uzupełniania, a QueryPerformanceCounter(var x:Int64) aktualny stan tego licznika. Przy ich pomocy można mierzyć czasy rzędu mikrosekund, a więc 1000 - 10000 razy krótsze niż TTimer (HPT zależy od posiadanego sprzętu).
http://4programmers.net/view_faq.html?id=209
ps nie ma tego w help, bo to funkcja windy, a nie delphi. jest w windows sdk
Wobec tego co trzeba zrobić żeby Delphi mogło użyć tej funkcji???
Wobec tego co trzeba zrobić żeby Delphi mogło użyć tej funkcji???
Trzeba tylko pamiętać, żeby na liście uses było Windows. Przynjamniej w d7 to wystarcza.
Nie rozumiem, na jakiej zasadzie działa ten timer. Nie ma żadnych komunikatów, ani nic, więc skąd wiadomo, że timer zmienił czas i że powinno się coś wykonać?
ten timer tzreba sprawdzac - wiadmo wtedy ile uplynelo czasu od poprzedniego wywolania
nie bawiłem się w to ale chyba chodzi tu o zastosowanie pętli.
Albo zrobienia tego w osobnym wontku.
Zrób lepiej w osobym wątku, bo taka pętelka może zdrowo powiesić program :)
Teraz to będzie musztarda po obiedzie.
Przypadkiem trafiłem na ten list i wygląda jakbym wyszedł na buraka. Zadano mi pytanie a ja nie odpowiedziałem. Akurat wtedy zaczął mi się urlop i przez kilkanaście dni nie miałem kompa.
Gdyby jadnak nadal kogoś to interesowało, to chętnie opiszę o co w tym biega.