Advertisement
Guest User

Untitled

a guest
Feb 19th, 2013
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include <Windows.h>
  2.  
  3.  
  4. class Time
  5. {
  6. public:
  7.     Time( unsigned int updatesPerSecond )
  8.     {
  9.         QueryPerformanceFrequency( &frequency );
  10.  
  11.         timePerUpdate = 1000000 / updatesPerSecond;
  12.  
  13.         QueryPerformanceCounter( &updateTime );
  14.         updateTime.QuadPart /= frequency.QuadPart * 1000000;
  15.     }
  16.  
  17.  
  18.     void UpdateFrame()
  19.     {
  20.         QueryPerformanceCounter( &currentTime );
  21.         currentTime.QuadPart /= frequency.QuadPart * 1000000;
  22.     }
  23.  
  24.     bool Update()
  25.     {
  26.         if ( currentTime.QuadPart - updateTime.QuadPart > timePerUpdate )
  27.         {
  28.             updateTime.QuadPart += timePerUpdate;
  29.  
  30.             return true;
  31.         }
  32.  
  33.         return false;
  34.     }
  35.  
  36.  
  37.     LONGLONG GetDeltaTime()
  38.     {
  39.         return timePerUpdate;
  40.     }
  41.  
  42. private:
  43.     LARGE_INTEGER frequency;
  44.  
  45.     unsigned int timePerUpdate;
  46.  
  47.     LARGE_INTEGER updateTime, currentTime;
  48. };
  49.  
  50.  
  51. void Update( LONGLONG );
  52.  
  53.  
  54. int main()
  55. {
  56.     bool running;
  57.     Time time( 30 );
  58.  
  59.     running = true;
  60.  
  61.     while ( running )
  62.     {
  63.         time.UpdateFrame();
  64.  
  65.         while ( time.Update() )
  66.             Update( time.GetDeltaTime() );
  67.     }
  68.  
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement