|
__declspec (naked) unsigned __int64 GetCpuCycle(void)
{
_asm
{
rdtsc
ret
}
}//获取CPU时间戳
int main(int argc, char** argv)
{
。。。。。初始化glew glfw。。
__int64 freq = GetCpuCycle();
while (1)
{
glfwSetTime(0.020); //定时器 0.02秒
__int64 fps = 16600000 / (GetCpuCycle() - freq);//我的CPU是双核 1.66MHZ
printf("FPS : %I64d\n", fps);
freq = GetCpuCycle();
}
return 1;
}
我用的glfw的定时器
但是现实的FPS 100多。。偶尔60 ,90 .。。。OTZ。。。 难道是双核 fps 还要除2?0.2秒应该是fps = 50啊啊?还是我帧率的式子弄错了?
求教。 |
|