【问题标题】:How to get time at higher accuracy than timer tick (15ms) on Windows XP? [duplicate]如何在 Windows XP 上以比计时器滴答(15 毫秒)更高的精度获取时间? [复制]
【发布时间】:2013-02-27 10:09:59
【问题描述】:

我编写了一个 C++ 程序来打印两个事件开始时的时间戳(或系统时间)。但这两个时间之间的差异始终是 0 或 15ms。这是因为 Windows XP 计时器每秒自我更新 64 次,即每 15.625 毫秒一次。所以我没有办法知道 0 到 15.625 毫秒之间的任何延迟。

有没有办法绕过这个限制?

提前致谢。

【问题讨论】:

标签: c++ winapi


【解决方案1】:

查看QueryPerformanceCounter 以获得更高的分辨率。

【讨论】:

  • + QueryPerformanceFrequency().
  • 我一直在使用 boost::posix_time::microsec_clock::local_time()。 QueryPerformanceCounter + QueryPerformanceFrequency() 达到了我的代码的目的!非常感谢!
  • 请注意,QueryPerformanceCounter 在很长一段时间内都不稳定。其他过去的类似问题(重复)涵盖了这方面。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多