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