schneller als 1 Millisekunde
-
Hi Leute,
gibt es eine Möglichkeit, eine Aktion schneller als mit 1 Millisekundenintervallen, wie es bei Timern maximal geht, ausführen zu lassen? Aber nicht mit einer Schleife, man soll die Geschwindigkeit schon noch kontrollieren können.
Beispiel:
Ich zeichen eine Figur mit SetPixel(..) und einem Timer über mein MFC Dialogfeld, will jedoch das Zeichnen schneller machen. Gibts da irgendeine Möglichkeit?MfG
ICH
PS: Oder läuft das ganze auf DirectX Zeug und so raus?
-
Das Timing läuft nicht auf DirectX hinaus, aber schnelles Zeichnen schon. Zum Zeitmessen kann ich QueryPerformanceCounter (siehe MSDN) empfehlen.
-
Das kannst du eigentlich vergessen, da dein Programm ja nicht das einzige ist das läuft
und dir ständig nen Prozess reinfunkt, da nützt schneller als 1ms nicht wirklich was.
-
@SirLant...
doch optimizer hat schon recht... mit dem QueryPerformanceCounter kann man wirklich gute ergebnisse erzielen und unter 1 ms kommen.. man landet zugegebener maßen nicht bei microsec und wenn auch andere prozesse ab und zu dazwischenfunken und es damit nicht wirklich garantiert ist das das immer klappt...
wenn man eine richtige echtzeitanwendung schreiben will kann man eh nicht windows oder linux nehmen... es sei denn man will im sekundenbereich auflösenwenn man z.b. eine bit auf nem ausgang ständig an und aus schalten kann man damit ein brauchbares periodes signal z.b. für ne motoransteuerung mit einer periodendauer weit unter dem millisekundenbereich erzeugen... kannst du ja spassenshalber mal probieren und auf nen oszilloskop schalten
-
Such mal im C++-Forum nach "QueryPerformanceCounter" da liegt ne ganz brauchbare Klasse von mir herum
MfG SideWinder