FrameTimer.h
上传用户:fengshi120
上传日期:2014-07-17
资源大小:6155k
文件大小:2k
源码类别:

3D图形编程

开发平台:

C/C++

  1. // FrameTimer.h: interface for the CFrameTimer class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_FRAMETIMER_H__D14E6BE0_144A_11D4_90C3_00AA00597E76__INCLUDED_)
  5. #define AFX_FRAMETIMER_H__D14E6BE0_144A_11D4_90C3_00AA00597E76__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CFrameTimer  
  10. {
  11. public:
  12. CFrameTimer();
  13. virtual ~CFrameTimer();
  14. void Start(float fFramesPerSec);
  15.     void Frame();
  16.     float GetFramesPerSec() const;
  17.     float GetSecsPerFrame() const;
  18.     UINT64 GetTicks() const;
  19.     UINT64 GetTicksPerSec() const;
  20.     UINT64 GetTicksPerFrame() const;
  21. protected:
  22.     float m_fTicksPerSec;
  23.     float m_fFramesPerSec;
  24.     float m_fSecsPerFrame;
  25.     UINT64 m_qwTicks;
  26.     UINT64 m_qwTicksPerSec;
  27.     UINT64 m_qwTicksPerFrame;
  28. };
  29. //////////////////////////////////////////////////////////////////////////////
  30. // Inline methods ////////////////////////////////////////////////////////////
  31. //////////////////////////////////////////////////////////////////////////////
  32. inline float
  33. CFrameTimer::GetFramesPerSec() const
  34. {
  35.     return m_fFramesPerSec;
  36. }
  37. inline float
  38. CFrameTimer::GetSecsPerFrame() const
  39. {
  40.     return m_fSecsPerFrame;
  41. }
  42. inline UINT64
  43. CFrameTimer::GetTicksPerSec() const
  44. {
  45.     return m_qwTicksPerSec;
  46. }
  47. inline UINT64
  48. CFrameTimer::GetTicksPerFrame() const
  49. {
  50.     return m_qwTicksPerFrame;
  51. }
  52. #endif // !defined(AFX_FRAMETIMER_H__D14E6BE0_144A_11D4_90C3_00AA00597E76__INCLUDED_)