00001 #ifndef _FPSMeter_H_
00002 #define _FPSMeter_H_
00003
00004 #include "Defines.h"
00005
00006 namespace zak {
00011 class ZAKENGINE_API FPSMeter {
00012 private:
00013 double _fTimeBetweenFrames;
00014 double _MeasureFpsSample;
00015 int _iFPS;
00016 long int _IFrameCounter;
00017 double _lockFps;
00018 double _accum;
00019
00020 LARGE_INTEGER _performanceCount1;
00021 LARGE_INTEGER _performanceCount2;
00022 LARGE_INTEGER _frequency;
00023
00024 public:
00025
00029 void FirstMeasure();
00030
00034 void Measure();
00035
00040 double GetDT();
00041
00046 int GetFps();
00047
00052 void SetLockFPS(double fps);
00053
00057 FPSMeter(){ _lockFps = 0; };
00058
00062 ~FPSMeter(){};
00063 };
00064
00065 }
00066
00067 #endif //_FPSMeter_H_