gpt4 book ai didi

Qtimer vs timerEvent-它们哪个产生的开销更少?

转载 作者:行者123 更新时间:2023-12-04 05:54:49 28 4
gpt4 key购买 nike

我需要每1毫秒触发一次计时器。 This文档报告,该插槽调用可能比虚拟函数调用要慢得多。

但是,如果我们将信号/插槽与事件发生进行比较,哪种机制会更快,更有效并且产生的开销更少:将QTimertimeout()信号连接到插槽,或者将裸QObject::startTimer()\QObject::killTimer()QObject::timerEvent()连接起来?

对于Windows和Linux,以上问题的答案是否相同?

最佳答案

QTimer实际上只是QObject::startTimer()功能的信号槽包装器,因此在所有平台上无疑会有更多开销(它在内部实现QObject::timerEvent()-此功能的实现只是发出timeout()信号)。

值得注意的是,QBasicTimer是围绕QObject::startTimer()功能的轻量级包装。如果使用QBasicTimer,您仍然必须实现QObject::timerEvent(),但是它将为您管理计时器ID。这样,QBasicTimer结合了QTimer的一些易用性和QObject::startTimer()机制的使用效率。

关于Qtimer vs timerEvent-它们哪个产生的开销更少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628343/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com