Seite 1 von 1

timer WIRKLICH (?) in Millisekunden

Verfasst: 30. September 2010 10:14
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?

Verfasst: 30. September 2010 10:57
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/

Verfasst: 30. September 2010 11:02
von Hans_Wurst
ok, danke dir

Verfasst: 30. September 2010 19:53
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