/********************************************************************* * * * FLY * * --E#Y#E-- * * ===MUSCLE=== * * * *********************************************************************/ /* Header Files */ #include "fps.h" /* Global Variables */ struct timeval tv; struct timeval tv0; int Frame = 1; int FramesPerFPS; float TimeCounter; float LastFrameTimeCounter; float prevTime = 0.0; float FPS; /*-------------------------------------------------------------------------*/ /* Init Time Counter */ void InitTimeCounter() { gettimeofday(&tv0, NULL); FramesPerFPS = 60; /* Init Time Counter */ printf(" INIT TIME COUNTER: %d FPS \n", FramesPerFPS); } /*-------------------------------------------------------------------------*/ /* Update Time Counter */ void UpdateTimeCounter(float dt) { LastFrameTimeCounter = TimeCounter; gettimeofday(&tv, NULL); TimeCounter = ((float)(tv.tv_sec-tv0.tv_sec))+ 0.000001*((float)(tv.tv_usec-tv0.tv_usec)); dt = TimeCounter - LastFrameTimeCounter; } /*-------------------------------------------------------------------------*/ /* Frames per Seconds */ void CalculateFPS() { Frame++; if((Frame%FramesPerFPS) == 0) { FPS = (((float)(FramesPerFPS)) / (TimeCounter-prevTime)); prevTime = TimeCounter; } printf("%4.1f SECONDS * %04.2f FPS \n", TimeCounter, FPS); } /*-------------------------------------------------------------------------*/