felix_1000
Grünschnabel
Hallo Programmierer
In einer Dialogbasierenden Anwendung soll periodisch ein Timerevent ausgelöst werden. Der Event soll präzise jede Millisekunde getriggert werden.
Mit dem Multimediatimer habe ich verschiedene Versuche gemacht. Bei Perioden >10ms funktioniert dies wunderbar. Bei Perioden <5ms werden zwar alle Timer Events ausgelöst jedoch ist die zeitliche Abfolge der Events nicht konstant. Z.Bsp. werden bei einer spezifizierten Zeit von 2ms gewisse Events bereits nach, 1ms andere wiederum erst nach 3ms ausgelöst, im Durchschnitt stimmt es aber schon.
Mit den Funktionen Queryperformancecounter() und Queryperformancefrequency() kann man ja ziemlich genau die Zeit messen. Meine Idee wäre es nun irgendwie eine Callback-Funktion zu programmieren, die mit Hilfe der obigen Funktionen exakt nach der gewünschten Zeit aufgerufen wird.
Ich habe keine Ahnung ob oder wie sich so etwas realisieren lässt. Hat jemand einschlägige Erfahrungen damit und könnte mir helfen. Bin für jeden Tip dankbar.
Danke und Gruess,
Felix
In einer Dialogbasierenden Anwendung soll periodisch ein Timerevent ausgelöst werden. Der Event soll präzise jede Millisekunde getriggert werden.
Mit dem Multimediatimer habe ich verschiedene Versuche gemacht. Bei Perioden >10ms funktioniert dies wunderbar. Bei Perioden <5ms werden zwar alle Timer Events ausgelöst jedoch ist die zeitliche Abfolge der Events nicht konstant. Z.Bsp. werden bei einer spezifizierten Zeit von 2ms gewisse Events bereits nach, 1ms andere wiederum erst nach 3ms ausgelöst, im Durchschnitt stimmt es aber schon.
Mit den Funktionen Queryperformancecounter() und Queryperformancefrequency() kann man ja ziemlich genau die Zeit messen. Meine Idee wäre es nun irgendwie eine Callback-Funktion zu programmieren, die mit Hilfe der obigen Funktionen exakt nach der gewünschten Zeit aufgerufen wird.
Ich habe keine Ahnung ob oder wie sich so etwas realisieren lässt. Hat jemand einschlägige Erfahrungen damit und könnte mir helfen. Bin für jeden Tip dankbar.
Danke und Gruess,
Felix