分析Qt应用程序非常困,如何分析结果?

时间:2012-01-06 05:49:01

标签: c++ qt profiling verysleepy

我试图找到为什么我的Qt应用程序在某一点上延迟第二次,这个秒延迟发生每次添加到列表操作,并且我使用免费的探查器“非常困” 它提供了一些我很难分析的快照。 这是最快的快照: 首先,这种winapi方法需要很长时间的接缝:

Name,Exclusive,Inclusive
    GetModuleFileNameA,983.451654,983.451654,87.500001,87.500001,kernel32,[unknown],0 

并且没有堆叠打印。 第二种方法是:

GetLastInputInfo,128.507105,128.507105,11.433579,11.433579,USER32,[unknown],0

在这个堆栈跟踪中,我看到来自QtCore4的QSettings :: allKeys的大量调用 我不打电话给QSettings :: allKeys

然后我有:

QPixmap::alphaChannel,1.159998,140.493087,0.103208,12.499999,QtGuid4,[unknown],0

在这里,我确实从我从网上下载的小型50X50图像的bytarray信息创建图像 使用:

QImage thumbnail = QImage::fromData(bytarray );

我怎么能在这里保存并且可能会停止此应用延迟?

1 个答案:

答案 0 :(得分:1)

完全脱离主题,但我建议使用intel vtune更加用户友好的分析器。您可以随时间(通过线程)和在特定函数\代码行中花费的时间来可视化CPU利用率。

但令我惊讶的是能够比较2个不同的结果,真正有助于验证变化如何影响性能。试一试,我保证你会失望的。