ホーム

トップ

MallocDebug
Sampler
ObjectAlloc
Shark

Cocoa はじめの一歩

自作ソフトいろいろ




修正日: 07/10/24  

Shark  

 Performance Tools入門 その4


3. Chartタブ

 Chartタブを選択するとコールスタックの変化を視覚的に表示させることができます(図7)。

【図7】Chartタブ

 グラフの横軸がサンプリングされたコールスタックのイベント番号、縦軸がコールスタックの深さです。Samplerと同じです。グラフ左下のスライダーでグラフを拡大縮小でき、グラフ内をクリックすると、クリックした場所に対応するコールスタックが右側に表示されます。また、下部にはサンプリングしたコールスタックの一覧が表示されます。
 ここでは縦軸が処理の重さではないという事に注意してください。スタックの深さの変化から同じような処理のパターンを発見して、それを最適化するのが目的です。上記はNobleApeのグラフの一部を拡大したものです。所々に上記のようなパターンを散見でき、変化している部分は「draw_terrain」関数部分だという事が分かります。しかしこのパターンの占める割合はごくわずかで、他のほとんどの部分は「cycle_troop_brains_scalar」ですので、こちらを最適化した方が効果が高いことが分かります。逆にほとんどが全くバラバラの処理で、繰り返し出てくるのが「draw_terrain」だけの場合は、そちらを最適化すると効果が大きい、ということになります。