嗨,我的动画中有一个简单的 FPS 计数器。FPS算不错,但我不知道为什么我不能测量动画时间。Normaly 我得到那个时间glutGet(GLUT ELAPSED TIME)
但是因为我必须去 Winapi 我想(或必须)使用GetTickCount()
这是我的代码:
int Frames=0;
int CurrentTime=0;
int PreviousTime=0;
int IntervalTime=0;
int CounterTime=0;
float FPS;
void fpscount(){
Frames++;
CurrentTime = GetTickCount();
IntervalTime = CurrentTime - PreviousTime;
if(IntervalTime >= 1000)
{
FPS = Frames / (IntervalTime / 1000.0f);
PreviousTime = CurrentTime;
Frames = 0;
CounterTime += IntervalTime;
}
}
我按行测量:CounterTime += IntervalTime;
并得到奇怪的值,例如:44834406 44835420
如果我将该行定义为上面CounterTime = IntervalTime+CounterTime;
的CounterTime
获取值。
如果我将该行定义为CounterTime = IntervalTime;
获取CounterTime
值: 1014 1014 但它们没有相加。
正确的值应该是: 1014 2028 。. .
我做错了什么?