インテル® VTune™ Amplifier 2018 ヘルプ

フレーム解析

インテル® VTune™ Amplifier が提供するフレーム解析オプションは、特に長いレイテンシーのアクティビティーを特定するのに有効です。

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

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

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

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

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

[Summary (サマリー)] タブをクリックして [Summary] ウィンドウを開き、[Frames Rate Histogram (フレーム・レート・ヒストグラム)] を解析します。アプリケーションが特定のフレームレートで実行したフレームの合計を見るには、マウスをバーにホバーします。低速または高速なフレームが多くと、パフォーマンスのボトルネックとなる可能性があります。

インテル® VTune™ Amplifier は、自動的に低速および高速フレームレートのしきい値を設定します。必要であれば、ヒストグラムの下部にあるスライダーを操作することで、しきい値を変更できます。変更された値はこのプロジェクト内のすべての結果に適用されます。

[Bottom-up (ボトムアップ)] ウィンドウに切り替えて、[Frame Domain/Frame Duration Type/Function/Call Stack (フレームドメイン/フレーム期間タイプ/関数/コールスタック)] によってグリッド内のデータをグループ化します。

このグループ化により、フレームがアクティブである期間のウォール時間であるフレーム時間を含む、フレーム解析メトリックを表示できます。フレーム時間の値が最も大きいフレームに注目します。フレームの存続期間でグループ化されたフレームを確認するには、フレームの領域ノードを展開します。低速なフレームを選択して右クリックし、[Filter In by Selection (選択でフィルターイン)] を選択してこの領域の低速なフレーム以外を除外します。これらの低速なフレームで最も時間を費やしている関数を見るには、[Function/Call Stack (関数/コールスタック)] で再度グループ化し直します。

タイムラインを解析

[Bottom-up] ウィンドウでは、[Timeline (タイムライン)] ペインに表示されたデータを解析します。低速フレームレートでグリッドをフィルター処理すると、タイムラインのデータは自動的にフィルターされ、選択されたフレームのデータを表示します。

[Ruler Area (ルーラーエリア)] に青いフレームマーカーが表示されます。マーカーにマウスをホバーすると、フレーム持続期間、フレームレートなどの詳細が表示されます。

[Frame Rate (フレームレート)] セクションでフレームレートの変化を確認できます。ボトルネックの原因を理解するには、フレームタイプが Slow (低速) または Fast (高速) のフレームを特定し、その [CPU Usage (CPU 使用率)] データと [Thread Concurrency (スレッドの並行性)] データを検証します。例えば、フレームレートが Slow (低速) で、CPU 使用率が Poor (低) か、スレッドの競合が発生している個所を探します。この場合、コードを並列化してより効率良く CPU リソースを活用するか、スレッド管理を最適化します。

[Timeline (タイムライン)] 表示からクリティカルなフレームを含むホットスポット関数を特定するため、低速または高速なフレームレートの範囲を選択します。選択したフレームが [Bottom-up] グリッドでハイライトされます。

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

低速/高速なフレームを実行する重要な関数をダブルクリックして、ソースコードを表示します。デフォルトでは、インテル® VTune™ Amplifier は、その関数で CPU 時間を最も費やしているコード行をハイライトします。

関連情報