【发布时间】:2013-02-27 10:09:59
【问题描述】:
我编写了一个 C++ 程序来打印两个事件开始时的时间戳(或系统时间)。但这两个时间之间的差异始终是 0 或 15ms。这是因为 Windows XP 计时器每秒自我更新 64 次,即每 15.625 毫秒一次。所以我没有办法知道 0 到 15.625 毫秒之间的任何延迟。
有没有办法绕过这个限制?
提前致谢。
【问题讨论】:
-
目前如何获取时间戳?
我编写了一个 C++ 程序来打印两个事件开始时的时间戳(或系统时间)。但这两个时间之间的差异始终是 0 或 15ms。这是因为 Windows XP 计时器每秒自我更新 64 次,即每 15.625 毫秒一次。所以我没有办法知道 0 到 15.625 毫秒之间的任何延迟。
有没有办法绕过这个限制?
提前致谢。
【问题讨论】:
查看QueryPerformanceCounter 以获得更高的分辨率。
【讨论】:
QueryPerformanceFrequency().
QueryPerformanceCounter 在很长一段时间内都不稳定。其他过去的类似问题(重复)涵盖了这方面。