15 virtual void StartFrame() = 0;
16 virtual void EndFrame() = 0;
17 virtual void ResetCounters() = 0;
18 virtual float LastFrameTimeMS()
const = 0;
19 virtual float MaxFrameTimeMS()
const = 0;
20 virtual float FramesPerSecond()
const = 0;
21 virtual float SmoothedFrameDurationMS()
const = 0;
22 virtual float AverageFramesPerSecond()
const = 0;
37 virtual void StartFrame();
38 virtual void EndFrame();
39 virtual void StartUpdate();
40 virtual void EndUpdate();
41 virtual void StartDraw();
42 virtual void EndDraw();
43 virtual void ResetCounters();
44 virtual float LastFrameTimeMS()
const;
45 virtual float MaxFrameTimeMS()
const;
46 virtual float FramesPerSecond()
const;
47 virtual float SmoothedFrameDurationMS()
const;
48 virtual float AverageFramesPerSecond()
const;
50 virtual int GetNumberOfSamples()
const;
51 const FrameTime& GetFrameSample(
int index)
const;
53 double m_previousTimestamp;
54 double m_frameStarted;
55 double m_updateStarted;
57 double m_lastFrameDuration;
58 double m_smoothedDuration;
59 double m_averageFPSStartTime;
60 double m_maxFrameDuration;
62 std::deque<FrameTime> m_statsPerFrame;