【发布时间】:2016-08-13 19:45:37
【问题描述】:
我目前正在尝试计算 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 滴答/秒。
我的问题是我将主函数中的所有内容都转移到了一个方法中,现在得到了this result
似乎我错误地更改了某些内容,但我无法弄清楚我更改了什么。
【问题讨论】:
-
*这不是我在程序中使用的实际代码...* 请发布minimal reproducible example 否则它没有发生!
-
输出也完全相同。这完全复制了这个问题。我的错没有足够澄清。
标签: c++ time clock timedelta delta