我目前正试图计算cpp中循环的增量时间。目前,我使用以下代码
#include <chrono>
int main()
{
typedef std::chrono::high_resolution_clock Clock;
typedef std::chrono::duration<float> fsec;
auto lastTime = Clock::now();
auto currentTime = Clock::now();
fsec passedTime = currentTime - lastTime;
while (true)
{
lastTime = currentTime;
printf("");
printf("");
printf("");
printf("");
printf("");
printf("");
printf("");
printf("");
printf("");
printf("");
currentTime = Clock::now();
passedTime = currentTime - lastTime;
printf("%i\n", passedTime.count());
}
return 0;
}--这不是我在程序中使用的实际代码,但是增量时间计算和输出与本示例中的完全相同。
它过去工作得很好,当被GLFW锁定到60滴答/秒时,输出的数量约为0.0167,而在6k /s的情况下,输出的数量要低得多。
我的问题是,我将主函数中的所有内容转换为一个方法,然后得到这一结果。
好像是我做错了什么,但我想不出我改变了什么。
发布于 2016-08-13 20:01:41
您的printf是错误的,数据是浮点,但是printf格式是int。
https://stackoverflow.com/questions/38936380
复制相似问题