home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2002 April / Game.EXE_04_2002.iso / Alawar / FPS.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2002-02-20  |  411 b   |  26 lines

  1. #include "FPS.h"
  2.  
  3. FPS::FPS(unsigned interval_ms)
  4. :    interval_ms( interval_ms ),
  5.     fps( 0 )
  6. {}
  7.  
  8. FPS::~FPS()
  9. {}
  10.  
  11. float FPS::get_fps()const
  12. {
  13.     return fps;
  14. }
  15.  
  16. void FPS::record(unsigned time_ms)
  17. {
  18.     records.push_back( time_ms );
  19.  
  20.     while( records.front() + interval_ms < time_ms )
  21.         records.pop_front();
  22.  
  23.     int dt = time_ms - records.front();
  24.     fps = (dt == 0) ? 0 : records.size() * 1000 / dt;
  25. }
  26.