QML计时器 - 如何提高准确度?

时间:2014-01-11 18:11:02

标签: c++ qt qml qtcore qelapsedtimer

我正在开发一种QML节拍器。我用了一个间隔60000 /每分钟节拍的计时器。然而,它并不准确。如何提高准确性。我应该使用定时器,还是有更好的解决方案?

1 个答案:

答案 0 :(得分:3)

QTimer的基本问题是它使用Qt事件循环进行计时。不幸的是,它本身就不够准确。通知的延迟以及事件循环中的所有内容都会妨碍通信。

您需要考虑一个实际上并不高度依赖于Qt事件循环的计时器,例如Windows上的QueryPerformanceCounter()。这就是我们如何进入QElapsedTimer的领域。

因此,我会将QElapsedTimer用于此目的。

以下帖子有一个为此目的而实现的自定义类。您可以按原样使用它,然后根据需要调整它以便在需要时更好。

High Resolution Timer