(WinAPI) Kürzere Pause als Sleep(1) ???



  • Hallo,

    ich würde gerne in verschiedenen Schleifen eine kurze Pause einlegen. Jedoch bin ich mit Sleep(1) auf eine Millisekunde beschrängt.

    Gibt es eine Möglichkeit, diese Zeit zu verkürzen, ich sag mal um den Faktor 10, also 100µs. Aber selbst 0,5 ms wären mir schon sehr hilfreich.

    Danke schon mal für jeden Tip.

    Grüße
    Franky



  • Unter Kylix3 (Linux) verwende ich folgenden Code:

    stime.tv_sec = (time_t)0;   // 1 = 1 sec
      stime.tv_nsec = 100000000;  // 100ms  oder entsrechend weniger
      nanosleep(&stime, NULL);    // warte
    

    Bin allerdings nicht sicher, ob das unter Windows genauso aussieht.



  • Nein, sieht unter Windows _NICHT_ so aus.



  • Sieh mal in die FAQ da hats nen Beitrag über genauere Timer. Unter Anderem wird da auch QueryPerformanceCounter bzw. QueryPerformanceFrequency benutzt und erklärt.

    -junix



  • Danke schon mal.
    Schade das nanosleep nicht funktioniert. Das wäre genau das Richtige.

    @junix
    Das habe ich mir schon angesehen. Das Problem ist, wenn man daraus eine Art Timer machen will, muß man ständig die Ticks vergleichen.
    Ich möchte aber gerade in diesen Pausen nichts machen, um die Auslastung nicht unnötig hoch zu trieben. Später sollen mehrere Anwendungen gleichzeitig laufen , und deshalb muß die Prozessorauslastung möglichst niedrig gehalten werden.

    Vieleicht gibt es ja doch noch etwas anderes?
    Grüße
    Franky



  • Ich vermute nicht. Ich schieb dich aber mal nach WinAPI...

    -junix


Anmelden zum Antworten