Performance Timer


// Hardware high resolution timer.
class RVAPI Timer
{
public:
    // Get seconds elapsed since timer was started. Must be called often. If the gap between calls exceeds 
    // .25f seconds the call is considered invalid and the seconds from the last valid call is returned.
    double GetSecs() const;

    // Start timer. Delay start by +/- [delay] seconds.
    void Start(float delay = 0);

    // Stop timer.
    void Stop();

    // Clear timer.
    void Clear();

    // Internal.
    void *operator () () const { return (void *)wobj; }

    // Constructor.
    Timer();

    // Destructor.
    ~Timer();

private:
    byte wobj[32];
};