QTimer 似乎实际上创建了一个“计时器”,它消耗CPU滴答声并发布事件等。对于 QElapsedTimer?

或者这只是类似于 win32 的东西 GetTickCount 当你调用一个方法时 QElapsedTimer 它获取当前的滴答计数并从它开始的计数中减去?

我想知道把这些东西挂在身边是否是个好主意,或者它们会像电池一样消耗电池吗? QTimer?

有帮助吗?

解决方案

QTimer 仅在某些情况下才会“吃掉”电池。具体来说,如果它是一个 Qt::PreciseTimer 在 Windows 7 及更早版本上 - 在这些系统上,它将把滴答频率提高到 1000Hz。非常短的计时器将强制执行相同的行为。由于这些系统是 不是 无滴答,活动粗定时器的存在对功耗没有任何影响,因为系统无论是否需要都以固定速率滴答。

在无滴答操作系统上, QTimer 不会有这样的不良影响。这包括 OS X/xnu、Windows 8 或无滴答 Linux。

QElapsedTimer 不是一个 QObject 并且不提供任何异步事件。它只是提供了平台时间 API 的接口(不是 计时器 API)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top