gpt4 book ai didi

c++ - 我可以让 Qt 分析信号槽执行持续时间吗?

转载 作者:行者123 更新时间:2023-11-30 05:14:17 26 4
gpt4 key购买 nike

我在 Windows 上有一个 Qt 控制台应用程序。我想分析它,但 QtCreator 分析在 Windows 上不起作用。

我只使用了几个信号/槽。该应用程序是单线程的,每个连接都是Qt::QueuedConnection

Qt 能否记录执行从事件循环中调用的每个槽所花费的时间?这将帮助我找到 CPU 瓶颈,而无需在程序中的任何地方手动添加计时器。

是否有可能覆盖槽调用机制并测量被调用槽执行时的时间?

最佳答案

排队的插槽调用作为 QMetaCallEvent 传递给接收方 QObject。因此,您可以在 QCoreApplication::notify 传递这些事件时对其计时:从该方法中调用 QObject::event

这有两个方面:

  1. 时间和数据收集 - 参见 this answer一个完整的例子。

  2. 解码 QMetaCallEvent 的内容以了解调用了哪个方法 - 参见 this question .

关于c++ - 我可以让 Qt 分析信号槽执行持续时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518658/

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