Sleep dauert zu lange

TimSz

Mitglied
Hi,

ich brauche für eine Ansteuerung eines Analoggerätes über den Parallelport Wartezeiten im Programm von ca 1-2ms. Die Funktion Sleep(2); bringt da meistens auch sehr gute Ergebnisse. Manchmal jedoch dauert der Funktionsaufruf ca 12-15 ms, wodurch die Analoganzeige viel zu langsam läuft.

Weiß jemand, wieso Sleep plötzlich zu lange braucht?

Wie kann ich das Problem beheben? Gibt es eine andere Funktion die ca 1 ms oder weniger wartet, ohne Rechenzeit zu verbrauchen?

Gruß

Tim
 
Hi

bei sleep hast du nicht die garantie, dass das wirklich so lange dauert.
Deine einzige möglichkeit ist selbst stoppen oder ein timer. Aber bei 2Ms sind Timer glaub ich zu ungenau. Am besten nimmst du den Performance Counter. Der ist sehr genau.
Schau mal bei MSN oder Google
 
Hi,

PerformanceCounter ist eine gute Sache; den habe ich auch schon für die Messung benutzt. Wenn ich allerdings eine Schleife machen würde, würde das Programm ja währenddessen Rechenzeit brauchen. Kann ich das irgendwie umgehen?
 
nich das ich wüsste. du könntest es ja mal noch mit sleep(0) dazwischen versuchen, das entlasten die CPU wenigstens etwas. Aber überprüfen müsstest du dann trotzdem mit dem Performance Counter.
 
Hi,

Danke für deine Antwort. Mit einer Performencecounterschleife funktioniert es auch ohne Sleep(0) schon ganz gut; die Prozessorauslastung beträgt auch nur ca 1-2 %.

Danke!

Gruß

Tim
 
Zurück