gpt4 book ai didi

C++获取独立于平台的耗时

转载 作者:太空狗 更新时间:2023-10-29 20:26:58 24 4
gpt4 key购买 nike

对于一款游戏,我想测量自上一帧以来耗时。

我使用 glutGet(GLUT_ELAPSED_TIME) 来做到这一点。但是在包含 glew 之后,编译器再也找不到 glutGet 函数了(奇怪)。所以我需要一个替代方案。

到目前为止,我发现的大多数站点都建议在 ctime 中使用时钟,但该功能仅测量程序的 cpu 时间,而不是实时! ctime中的时间函数只精确到秒。我至少需要毫秒级的精度。

我可以使用 C++11。

最佳答案

我认为在 C++11 之前 C++ 没有内置高分辨率时钟。如果您无法使用 C++11,则必须使用 glut 和 glew 修复错误,或者使用依赖于平台的计时器函数。

#include <chrono>
class Timer {
public:
Timer() {
reset();
}
void reset() {
m_timestamp = std::chrono::high_resolution_clock::now();
}
float diff() {
std::chrono::duration<float> fs = std::chrono::high_resolution_clock::now() - m_timestamp;
return fs.count();
}
private:
std::chrono::high_resolution_clock::time_point m_timestamp;
};

关于C++获取独立于平台的耗时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17665314/

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