フレームデータ解析

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

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

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

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

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

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

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



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

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



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



タイムラインを解析

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



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

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

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

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

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