2012-01-06 7 views
0

私のQtアプリケーションが何らかの点で遅れを取る理由を見つけようとしていますが、この秒の遅延はそれぞれのリスト操作に追加され、フリープロファイラ「非常に眠そうです」 を使って、分析します。 すべての最初のそれは、このWINAPI方法は時間がかかることを縫い目: はこちらトップスナップショットです非常に眠そうなQtアプリのプロファイリング、結果の分析方法?

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 

と、このスタックトレースに私はQSettings呼び出す:: allKeys

、その後、私は持っていけないQtCore4 から来るQSettings :: allKeysに重い呼び出しを参照してください。 第二の方法は、そのtaks長いです。

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

とここで私は、小さな50×50の画像 を使用して私は、Webからダウンロードbytarray情報から画像を作成し実行します。

QImage thumbnail = QImage::fromData(bytarray); 

ここで保存してアプリの延期を停止するにはどうすればよいですか?

答えて

1

完全に対象外ですが、intel vtuneより使いやすいプロファイラを使用することをお勧めします。特定の関数/コード行に費やされたCPU使用率(スレッド別)と時間の両方を視覚化することができます。

しかし、私が実際に驚いたのは、2つの異なる結果を比較できることでした。変更がパフォーマンスにどのように影響するかを確認するのに本当に便利です。試してみてください、私はあなたが失望することを保証します。

+0

はすごくいいですが、無料ではありません – user63898

+1

あなたは電子メールで登録する必要がありますが、無料のバージョンは存在します。 linuxの無料版の[リンクはこちら](http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=13574&lang=eng) – UmNyobe

+0

ありがとう、しかし、窓を使用して私は32ビット、私は30日のバージョンが表示されます – user63898

関連する問題