Hallo,
ich möchte ein kleines Proggi schreiben für einen Reaktions- und Geschicklichkeitstest. Dazu muss ich zB. die Zeit messen, die zwischen zwei Mausklicks vergeht. Dabei kann es durchaus auf Sub-Millisekunden-unterschiede ankommen.
Ich habe dazu eine kleine Schleife mit einer GetAsyncKeyState-Abfrage in einen Thread gepackt, dem Thread die höchste Priorität zugewiesen und messe mit QueryPerformanceCounter die Zeiten. In der Schleife wird sonst nix gemacht, außer die Zeit in einem Array zu notieren, wenn die Maustaste gedrückt wurde und abzufragen, ob der Thread terminiert wurde.
Im Prinzip klappt das - aber wie ich es auch anstelle: ich scheine eine zeitliche Auflösung von ca. 5 ms nicht unterschreiten zu können. Diese Auflösung ist mir viel zu schlecht.
Wahrscheinlich ist die Lösung sehr einfach - es muss doch machbar sein, mit 3 GHz-Rechnern auch auf einem nicht ausgelasteten Multithreading-System eine bessere Zeitauflösung hinzubekommen!
Liegts am Timer, an der Systemzeit-Zuweisung, oder an der Art, wie Windows Mausbotschaften verarbeitet?
Wie kann ich das Timing von Benutzereingaben (Maus od. Tastatur) genauer messen?
Kann mir da jemand helfen?
LG
Jochen