#include </home/zeitlin/src/wx/github/interface/wx/stopwatch.h>
The wxStopWatch class allow you to measure time intervals.
For example, you may use it to measure the time elapsed by some function:
wxStopWatch sw; CallLongRunningFunction(); wxLogMessage("The long running function took %ldms to execute", sw.Time()); sw.Pause(); ... stopwatch is stopped now ... sw.Resume(); CallLongRunningFunction(); wxLogMessage("And calling it twice took $ldms in all", sw.Time());
Since wxWidgets 2.9.3 this class uses ::QueryPerformanceCounter()
function under MSW to measure the elapsed time. It provides higher precision than the usual timer functions but can suffer from bugs in its implementation in some Windows XP versions. If you encounter such problems, installing a Microsoft hot fix from http://support.microsoft.com/?id=896256 could be necessary.
Public Member Functions | |
wxStopWatch () | |
Constructor. | |
void | Pause () |
Pauses the stop watch. | |
void | Resume () |
Resumes the stop watch which had been paused with Pause(). | |
void | Start (long milliseconds=0) |
(Re)starts the stop watch with a given initial value. | |
long | Time () const |
Returns the time in milliseconds since the start (or restart) or the last call of Pause(). | |
wxLongLong | TimeInMicro () const |
Returns elapsed time in microseconds. |
wxStopWatch::wxStopWatch | ( | ) |
Constructor.
This starts the stop watch.
void wxStopWatch::Pause | ( | ) |
void wxStopWatch::Resume | ( | ) |
Resumes the stop watch which had been paused with Pause().
void wxStopWatch::Start | ( | long | milliseconds = 0 | ) |
long wxStopWatch::Time | ( | ) | const |
Returns the time in milliseconds since the start (or restart) or the last call of Pause().
wxLongLong wxStopWatch::TimeInMicro | ( | ) | const |
Returns elapsed time in microseconds.
This method is similar to Time() but returns the elapsed time in microseconds and not milliseconds. Notice that not all platforms really can measure times with this precision.