usleep unter windows
-
Gehört hier vielleicht nicht rein, aber da mir dieses Board schon oft geholfen hat, möchte ich auch mal was nützliches tun:
Funktion usleep (Microsekunden lang schlafen) (unter *nix fast Standard unter Windows sucht man vergebens, deshalb die Funktion - vielleicht brauchts ja irgendwann einer
void usleep(unsigned int usec) { HANDLE timer; LARGE_INTEGER ft; due.QuadPart = -(10 * (__int64)usec); //Timer Funktionen ab WINNT verfügbar timer = CreateWaitableTimer(NULL, TRUE, NULL); SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0); WaitForSingleObject(timer, INFINITE); CloseHandle(timer); }
Meiner Meinung nach besser, als usleep über PerformanceCounter
-
Wenn man schon WinAPI verwendet, was ist mit Sleep(millisec) oder SleepEx
?
-
CDW schrieb:
Wenn man schon WinAPI verwendet, was ist mit Sleep(millisec) oder SleepEx
?
Es geht um Microsekunden, nicht um Millisekunden
- nur wozu man das wirklich brauchen kann, das weiß ich nicht
-
Waitable Timer hab ich auch schonmal bei OpenGL-Spielereien als Framerate-Begrenzer benutzt, schien mir genauer als timeGetTime() und GetTickCount() zu sein, von Sleep() wollen wir erst gar nicht reden
-
Sowas könnt ihr vergessen. Allein die Ausführungszeit der API-Aufrufe braucht mehrere µs.