Komponente Timer auf 10ms Interval eingestellt kommt immer in 100ms



  • Ich verwende den Borland C++ Builder Enterprice Version 6.
    Ich versuche eine Komponete TTimer zu verwenden und stelle 10ms als Interval ein.
    Der Timer aufruf findet aber nur alle 100ms statt. Ich kann also keine kürzere Zeit als 100 ms einstellen.
    Das ganze läuft unter Windows 10.
    Hat da jemand eine Idee was das sein könnte?
    Vielen Dank



  • Windows ist kein Echtzeit-Betriebssystem, d.h. vermutlich kann mit diesem Timer so ein kleiner Zeit Intervall gar nicht abgebildet werden.
    Ich hatte mal mit WinApi std. Timer gearbeitet, und da lag die Auflösung irgendwo bei ca. 25-50ms.
    Wo hier genau die Grenze liegt kann ich dir nicht sagen, mußt du googlen.
    In der WinApi gibt es höher auflösende Timer (high precision timer).
    Damit sollte dies funktionieren.
    Ob die VCL bzw 3rd-Party so einen Timer bereitstellt weiß ich nicht.

    MfG Stephan



  • Ich habe das jetzt bei mir in der Arbeit ausprobiert. Hier habe ich Embarcadero C++Builder XE auf einem Windows 7 Rechner.
    Hier schaffe ich eine Auflösung von ca. 15ms.
    Offensichtlich ist das stark Maschinenabhängig. Eine Timer Komponente ist hier also die falsche Wahl. Ich werde dann die Aufgabe wohl besser mit einem Thread bearbeiten.
    Vielen Dank für die Antwort 👍 .


Anmelden zum Antworten