0

私のプログラムにはウィジェットクラスの子が含まれており、その子に対してpaint()関数が再定義されています。

プログラムは、アイドル状態でも多くのCPUサイクルを消費しています。paint()関数内のprintf()は、paint()が呼び出されることを期待している場合にのみ呼び出されることを示しています。

他に何が消費源を見つけることを試みることができますか?

追加

本当に初歩的なものに戻りましょう。XCode 3では、「デバッグ」ビルドと「リリース」ビルドのどちらかを選択するビルド設定がありましたが、XCode 4ではそのような設定は表示されなくなりました。デバッグビルドを生成するにはどうすればよいですか?おそらく、私の元の質問に対する答えは、プログラムがアイドルループにあるときに「一時停止」(消えた別のボタン)を押すのと同じくらい簡単でしょう。(ループ自体は、追加する必要がありますが、コードではなくツールキットに属しています。)

4

1 に答える 1

0

これがMacOSXcode開発であると仮定すると、Xcodeに付属のプロファイラーを使用できます。

そうでない場合は、利用可能なプロファイラーを使用してください。

使用可能なプロファイラーがない場合は、アプリケーションから機能をゆっくりと取り除き始めます。または、ゆっくりではないかもしれませんが、バイナリ検索を実行します(つまり、機能の半分を取り除きます)。簡単なものは何でも。

アプリケーションによっては、3番目のこと(つまり、プロファイラーを使用する代わりにリッピングすること)を実行することが実際に勝利への最速のルートである場合がありますが、時間をかけてプロファイラーの使用方法を学ぶ価値があります。

于 2012-04-09T16:37:06.843 に答える