timer WIRKLICH (?) in Millisekunden

Alles rund um die Programmierung mit Qt
Antworten
Hans_Wurst
Beiträge: 36
Registriert: 8. Mai 2008 16:44

timer WIRKLICH (?) in Millisekunden

Beitrag von Hans_Wurst »

Hallo,

ich benötige lediglich einen timer, der wie eine Stopuhr hoch zählt. Das ganze sollte allerdings auch im Millisekundenbereich angezeigt werden.

Ich habe nun QTime verwendet und lasse jede Millisekunde die anzeige auf meiner GUI aktualisieren. Am Wert kann ich jedoch erkennen, dass die Anzeige nach einer Sekunde noch weit von den 1000 Millisekunden entfernt ist.
Ist QTime hier wohl nicht die richtige Wahl?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

1. Jeder Millisekunde wäre 1000FPS ...
2. QTimer ist nur maximal so genau wie das OS, siehe auch http://labs.qt.nokia.com/2010/07/13/whe ... -is-right/
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Hans_Wurst
Beiträge: 36
Registriert: 8. Mai 2008 16:44

Beitrag von Hans_Wurst »

ok, danke dir
Uwe
Beiträge: 176
Registriert: 9. Oktober 2005 13:37
Wohnort: München

Beitrag von Uwe »

Christian81 hat geschrieben:1. Jeder Millisekunde wäre 1000FPS ...
2. QTimer ist nur maximal so genau wie das OS, siehe auch http://labs.qt.nokia.com/2010/07/13/whe ... -is-right/
QTimer ist grundsätzlich ungeeignet ( egal wie die Genauigkeit des OS ist ) um Zeit zu erfassen. Das hat damit zu tun, daß man bei QTimer über Events benachrichtigt wird, die natürlich nur dann zugestellt werden können, wenn die Applikation nicht anderweitig beschäftigt (z.B. mit Zeichnen ) ist. Besser ist es einen QTimer aufzuziehen und die tatsächlich verstrichene Zeit im Event Handler über QTime ( wie im Ausgangsposting beschrieben ) zu ermitteln.

In Qwt (SVN trunk) findest Du eine Klasse QwtSystemClock http://qwt.svn.sourceforge.net/viewvc/q ... iew=markup, die gegebenenfalls in kleineren Intervallen als QTime auflöst. Die Implementierung nutzt intern Schnittstellen für High Precision Timer - sofern verfügbar. Die Klasse kann man recht einfach ausschlachten, wenn man die Qwt Bibliothek nicht als Ganzes nehmen will.

Aber natürlich gelten auch dafür die Begrenzungen vom OS.

Uwe
Antworten