diff options
author | Stijn Buys <ingar@osirion.org> | 2011-05-11 14:48:17 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2011-05-11 14:48:17 +0000 |
commit | 1c63cbf204b1d2c667ce9f821ccb197d0ffb0ac3 (patch) | |
tree | c2d0ff7cc4a8a264657abd0ac99017a5b664ecd2 /src/sys/timer.h | |
parent | bb0f860989f84b901f80017ae0139a3fc0446dc1 (diff) |
Review of the main loop timer, converted timers from float to unsigned long,
corrected a number of timing bugs, improved client framerate stability.
Diffstat (limited to 'src/sys/timer.h')
-rw-r--r-- | src/sys/timer.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/sys/timer.h b/src/sys/timer.h new file mode 100644 index 0000000..125363d --- /dev/null +++ b/src/sys/timer.h @@ -0,0 +1,50 @@ +/* + sys/timer.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_SYS_TIMER_H__ +#define __INCLUDED_SYS_TIMER_H__ + +namespace sys +{ + +/// a timer measures intervals in seconds +/*! A timer class measures the time elapsed +* between the last two calls to its mark() function. +*/ +class Timer +{ +public: + /** + * @brief constructor + * The constructor autmaticly calls reset() + * */ + Timer(); + + /** + * @brief destructor + * */ + ~Timer(); + + /** + * @brief reset the timer to 0 + */ + void reset(); + + /** + * @brief return the time elapsed since the last reset() call, in milliseconds + * + * */ + unsigned long timestamp() const; + +private: + unsigned long timer_start; + +}; // class Timer + +} // namespace sys + +#endif // __INCLUDED_SYS_TIMER_H__ + |