5

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

4

1 回答 1

5

QTimer它使用 Qt 事件循环进行计时的根本问题。不幸的是,它天生就不够准确。通知的延迟以及事件循环中的所有内容都在阻碍。

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

因此,我会为此目的使用QElapsedTimer 。

下面的帖子似乎为此目的实现了一个自定义类。您可以按原样使用它,然后根据需要对其进行调整以更好地满足您的需要。

高分辨率定时器

于 2014-01-11T18:17:10.923 回答