Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- class Time
- {
- public:
- Time( unsigned int updatesPerSecond )
- {
- QueryPerformanceFrequency( &frequency );
- timePerUpdate = 1000000 / updatesPerSecond;
- QueryPerformanceCounter( &updateTime );
- updateTime.QuadPart /= frequency.QuadPart * 1000000;
- }
- void UpdateFrame()
- {
- QueryPerformanceCounter( ¤tTime );
- currentTime.QuadPart /= frequency.QuadPart * 1000000;
- }
- bool Update()
- {
- if ( currentTime.QuadPart - updateTime.QuadPart > timePerUpdate )
- {
- updateTime.QuadPart += timePerUpdate;
- return true;
- }
- return false;
- }
- LONGLONG GetDeltaTime()
- {
- return timePerUpdate;
- }
- private:
- LARGE_INTEGER frequency;
- unsigned int timePerUpdate;
- LARGE_INTEGER updateTime, currentTime;
- };
- void Update( LONGLONG );
- int main()
- {
- bool running;
- Time time( 30 );
- running = true;
- while ( running )
- {
- time.UpdateFrame();
- while ( time.Update() )
- Update( time.GetDeltaTime() );
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement