在网上找到一个计算FPS的方法,感觉还比较准确,特转贴到这里,供以后查阅用。
(注:此代码的出处是http://www.gametutorials.com/Tutorials/OpenGL/OpenGL_Pg1.htm中的Frames Per Second的例子代码,转贴的过程中本人删除了所有的注释。代码的版权归代码的编写者所有。)
void CalculateFrameRate()
{
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 )
{
lastTime = currentTime;
sprintf(strFrameRate, "Current Frames Per Second: %d", int(framesPerSecond));
SetWindowText(g_hWnd, strFrameRate);
framesPerSecond = 0;
}
}
在每次渲染结束,调用CalculateFrameRate()即可。
注:
1.若要看详细的代码和注释,可以到http://www.gametutorials.com/Tutorials/OpenGL/OpenGL_Pg1.htm下载例子代码慢慢研究。
2.函数中用到了GetTickCount()函数,这个函数是Win32 API,使用的时候需要包含头文件"windows.h".
OpenGL之计算FPS
最新推荐文章于 2022-12-22 00:51:23 发布