インテル® VTune™ プロファイラー・ユーザーガイド

フレームデータ解析

インテル® VTune™ プロファイラーが提供するフレーム解析オプションは、長いレイテンシーのアクティビティーを特定するのに役立ちます。

フレーム API を使用して、時間ステップループを利用するシミュレーター、収束ループを使用する計算、次のグラフィックス・フレームを計算するゲーム・アプリケーションなど、繰り返し実行されるコード領域 (フレーム) の開始と終了をマークします。 インテル® VTune™ プロファイラーは、マークされたコード領域を解析して、低速または高速なフレームレートによるアプリケーションのボトルネックを特定します。フレーム解析で示されるパフォーマンス・データを解釈するには、次のステップに従います。

  1. フレーム統計のサマリーを解析します。

  2. タイムラインを解析します。

  3. ホットスポット・コード領域を特定します。

フレーム統計のサマリーを解析

[サマリー] ウィンドウを開くには [サマリー] タブをクリックして、 フレームレート分布図を解析します。バーにカーソルを移動すると、アプリケーションが特定のフレームレートで実行したフレームの合計数を示します。低速フレームまたは高速フレームが多いと、パフォーマンスのボトルネックが発生します。

インテル® VTune™ プロファイラーは、低速フレームレートと高速フレームレートのしきい値を自動的に設定します。必要に応じて、分布図の下にあるスライドバーを調整して変更できます。設定したしきい値は、プロジェクトの以降のすべての結果に自動的に適用されます。

[ボトムアップ] ウィンドウに切り替えて、 [フレームドメイン/フレーム持続タイプ/関数/コールスタック] でグリッド内のデータをグループ化します。

このグループ化は、フレームがアクティブであったウォールクロック時間であるフレーム時間を含む、フレーム解析メトリックを表示します。最も長いフレーム時間のフレームに注目します。フレーム持続期間でグループ化されたフレームを表示するには、フレーム・ドメイン・ノードを展開します。低速なフレームを選択して右クリックして、 [選択してフィルターイン] を選択すると、ドメイン内の低速なフレームを除くすべてのデータを除外できます。それらの低速フレームが時間を費やした関数を確認するには、 [関数/コールスタック] でデータをグループ化します。

タイムラインを解析

[ボトムアップ] ウィンドウで、 [タイムライン] ペインに表示されるフレームデータを解析します。低速フレームでグリッドをフィルター処理すると、タイムラインのデータも自動的にフィルターされ、選択したフレームのデータが表示されます。

スケール領域にはフレームマーカーが表示されます。マーカーにカーソルを移動すると、フレーム長、フレームレートなど詳細を示すポップアップが表示されます。

フレームレートのグラフは、フレームレートの経時的な変化を示します。ボトルネックの原因を知るには、低速または高速なフレームタイプのセクションを特定して CPU 利用率データを解析します。例えば、CPU 利用率やスレッド競合が低いセクションの低速フレームレートを特定します。この場合、コードを並列化することで CPU リソースを効率良く利用したり、スレッド管理を最適化できます。

[タイムライン] ビューからクリティカルなフレームレートを含むホットスポット関数を特定するには、低速または高速なフレームレートの範囲を選択します。インテル® VTune™ プロファイラーは、選択されたフレームを [ボトムアップ] グリッドでハイライトします。

ホットスポット・コード領域を特定

低速/高速フレームを実行するクリティカルな関数をダブルクリックして、ソースコードを開きます。インテル® VTune™ プロファイラーは、デフォルトで実行に最も CPU 時間を費やした関数のコード行をハイライト表示します。