提高QML中计时器的准确性

时间:2014-04-07 13:43:52

标签: qt timer qml

我已经阅读here关于提高QML利用QElapsedTimer而不是简单的QTimer(基于QT事件循环)的定时器准确性的可能性,但我不清楚我该怎么做该...

是否有人可以帮我提供完整的例子?

1 个答案:

答案 0 :(得分:2)

QElapsedTimer是衡量时间的一种方法。当给定的时间量过去时,它没有提供一种将控制权返回给代码的方法,因为它没有任何阻塞方法。它也没有任何信号/回调。

使用QElapsedTimer提供准确间隔时间的唯一方法是旋转:在紧密循环中,您将继续检查计时器,直到经过一段时间,然后继续执行代码。除非它会被谨慎使用 - 仅在应用程序启动期间使用 - 否则会对电池寿命和能耗产生可怕的影响。它是一种具有非常特殊用途的黑客,在普通的QML代码中是不需要的。

您尝试解决的问题是什么?