Witam,
szukam sposobu na wykonanie pętli z opóźnieniem rzędu 0,01ms.
Z tego co znalazłem w internecie (może komuś przyda się takie zestawienie...):
-zwykłe Sleep(1) daje min. 10ms przerwę
-to samo Sleep(1) z wywołanym wcześniej timeBeginPeriod(1) daje przerwę 1ms (i to nawet całkiem dokładnie, po milionie przebiegów pętli program spóźnił się mniej niż sekundę)
-kombinacja z QueryPerformanceFrequency i QueryPerformanceCounter i sprawdzanie czy minęło już wystarczająco taktów procesora, teoretycznie bardzo duża dokładność, zaobożerność też duża
-i czwarta opcja, o której nie za wiele wiem i nie mogę znaleźć:
Windowsowy Timer Multimedialny
w internecie odsyłają tutaj: http://msdn.microsoft.com/en-us/library/windows/desktop/dd742877%28v=vs.85%29.aspx
a stamtąd:
http://msdn.microsoft.com/library/ms644906.aspx
http://msdn.microsoft.com/library/ms682492.aspx
wiem że z tą metodą da się wykonywać pętlę z częstotliwością ok 25kHz (jeden specjalistyczny program takie wyniki tą metodą osiąga).
Może wie ktoś coś więcej o tej metodzie? Jakieś linki lub przykłady mile widziane ;)
pozdrawiam
Paweł Lis