gpt4 book ai didi

C++ high_resolution_clock 奇怪的输出

转载 作者:行者123 更新时间:2023-11-28 05:33:11 35 4
gpt4 key购买 nike

我目前正在尝试计算 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 ticks/s 时,它过去工作正常并输出大约 ~0.0167 的数字,而在大约 6k ticks/s 时输出的数字要低得多。

我的问题是我将主函数中的所有内容都移到了一个方法中,现在得到 this result

似乎我错误地更改了某些内容,但我无法弄清楚我更改了什么。

最佳答案

你的printf是错误的,数据是float,但是printf格式是int。

关于C++ high_resolution_clock 奇怪的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38936380/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com