Entwickler-Ecke
Windows API - Timer mit weniger als einer MS
Hendrik - Di 08.07.03 20:03
Titel: Timer mit weniger als einer MS
Hi,
ich müsste in meinem Proggi irgendwie eine aktion nach weniger als einer Millisekunden (genau 0.825 ms) ausführen. Wie könnte ich das denn machen? Mit einem Timer kann ich das ja nicht machen...
Delete - Di 08.07.03 20:08
Nimm einen Multimediatimer. Und kuck dir in diesem Zusammenhang auch mal QueryPerformanceCounter und QueryPerformanceFrequency an.
Oder nimm einen Thread und leg in jeweils mit Sleep die benötigten Millisekunden lahm.
tommie-lie - Di 08.07.03 20:50
| Hendrik hat folgendes geschrieben: |
| weniger als einer Millisekunden (genau 0.825 ms) ausführen. |
| Luckie hat folgendes geschrieben: |
| Oder nimm einen Thread und leg in jeweils mit Sleep die benötigten Millisekunden lahm. |
Habe ich was nicht mitbekommen oder ist dein Vorschlag ein wenig... falsch, Luckie?
Und wo nimmt man einen Multimediatimer her? Ich finde ihn zumindest nicht bei den Stnadard-Delphi-Komponenten...
Aber ein Thread ist schon ganz sinnvoll, darin kann man mit der vom Luckie erwähnten PerformanceCounter in einer Endlosschleife abfragen, wieviel Zeit vergangen ist (die Taktzeit des Performancecounter hängt zwar von der verwendeten Hardware ab, 0,825 ms sollten aber auf jedem System zu erreichen sein, wenn es nicht gerade ein 10 Jahre altes 386er-Board ist...). Ist die gewünschte Zeit erreicht, schickt entweder der Thread eine Message an dein Fenster, die du abfangen kannst (wie ein Timer), oder macht selber was.
Delete - Di 08.07.03 20:55
Ach halt, das soll ja unter einer Millisekunde sein. Dan geht sleep natürlich nicht.
Die DirectX Kompos für Delphi haben einen dabei. Gibt es aber auch so bei Torry, denke ich.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!