当前位置:  开发笔记 > 编程语言 > 正文

使用clock()的C++ deltatime为0

如何解决《使用clock()的C++deltatime为0》经验,为你挑选了1个好方法。

我正在为我的视频游戏计算deltatime,所以当有人PC很快时,游戏速度不会疯狂.我使用ctime库中的clock()函数来测量时间.问题是,我的fps太高了,deltatime是0.所以我的gamepeed也搞砸了.

这就是我计算增量时间的方法:

///DELTATIME AND FPS COUNTING
deltaTime = clock() - oldTime;
double fps = (1 / deltaTime) * 1000;
oldTime = clock();

deltaTime和oldTime的变量类型是float.我需要让clock()函数更准确,所以它不是0(我相信毫秒).

提前致谢.



1> Some program..:

文字1和变量deltaTime(如果是clock_t)都是整数.整数除法将截断结果,因此1 / anything_larger_than_1将始终为零.

您需要使用浮点除法:

1.0 / deltaTime

注意使用double文字1.0.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有