我用OpenGL、Qt、C++编写了一个3D模型显示程序。但是我发现了一些奇怪的东西。那就是Release模式版本的FPS(每秒帧数)低于调试模式版本。现在我发布他们的FPS:
左边是调试模式版本,右边是发布模式版本:
我用来计算 FPS 的函数是
void displayFPS()
{
static float framesPerSecond = 0.0f; // This will store our fps
static float lastTime = 0.0f; // This will hold the time from the last frame
float currentTime = GetTickCount() * 0.001f;
++framesPerSecond;
if( currentTime - lastTime > 1.0f )
{
framesPerSecond/=currentTime - lastTime;
char strFrameRate[256];
lastTime = currentTime;
sprintf_s(strFrameRate,256, "FPS : %f", framesPerSecond);
cout << strFrameRate << endl;
framesPerSecond = 0;
}
}
我想知道这是怎么发生的?发布模式不应该比调试模式快吗?有人能告诉我为什么吗?