使用率ビューには、現在のプロセスで使用されている CPU、GPU、およびその他のシステム リソースに関する情報が表示されます (コンカレンシー ビジュアライザーを開始するには、[分析>コンカレンシー ビジュアライザーを選択します)。 分析されたプロセス、アイドル プロセス、システム プロセス、および時間の経過と同時にシステムで実行されているその他のプロセスによるコア使用率の平均が表示されます。 特定のコアがどの時点でアクティブであるかは表示されません。 たとえば、2 つのコアがそれぞれ特定の期間に 50% の容量で実行されている場合、このビューには、1 つの論理コアが使用されていることが表示されます。 ビューは、プロファイリング時間を短い時間セグメントに分割することによって生成されます。 各セグメントについて、グラフには、その期間中に論理コアで実行されているプロセス スレッドの平均数がプロットされます。
グラフには、時間 (x 軸) と、ターゲット プロセス、アイドル プロセス、およびシステム プロセスによって使用される平均論理コアが表示されます。 (アイドル プロセスには、アイドル 状態のコアが表示されます。システム プロセスは、他のプロセスに代わって作業を実行できる Windows のプロセスです)。システムで実行されている残りのプロセスは、残りのコアの使用率を考慮します。
論理コアの数が y 軸に表示されます。 Windows では、ハードウェアでの同時マルチスレッド サポートが論理コア (Hyper-Threadingなど) として扱われます。 そのため、コアあたり 2 つのハードウェア スレッドをサポートするクワッド コア プロセッサを備えるシステムは、8 論理コア システムとして表示されます。 これは、[コア] ビューにも適用されます。 詳細については、「 コア」ビューを参照してください。
GPU アクティビティ グラフには、時間の経過に伴って使用されている DirectX エンジンの数が表示されます。 DMA パケットを処理している場合、エンジンは使用中です。 グラフには、特定の DirectX エンジン (3D エンジン、ビデオ エンジンなど) は表示されません。
目的
コンカレンシー ビジュアライザーを使用する場合は、パフォーマンス調査の開始点として使用率ビューを使用することをお勧めします。 時間の経過に伴うアプリのコンカレンシーの程度の概要が提供されるため、これを使用して、パフォーマンスのチューニングまたは並列化が必要な領域をすばやく特定できます。
パフォーマンス チューニングに関心がある場合は、期待を満たさない動作を特定しようとしている可能性があります。 論理 CPU コアの使用率が低いリージョンの存在と原因を探している場合もあります。 CPU と GPU の間の使用パターンを探している場合もあります。
アプリの並列化に関心がある場合は、CPU にバインドされた実行領域または CPU を使用していない領域を探している可能性があります。
CPU バインド領域は緑色です。 グラフには、アプリがシリアルである場合に使用されているコアが 1 つ表示されます。
CPU を利用していない領域は灰色です。 これらは、アプリがアイドル状態であるか、ブロック I/O を実行しているポイントを表し、他の CPU にバインドされた作業と重複して並列処理の機会を提供します。
目的の動作が見つかると、そのリージョンを選択して拡大できます。 ズームした後、スレッド ビューまたはコア ビューに切り替えて、より詳細な分析を行うことができます。
C++ AMP または DirectX を使用して GPU を使用している場合は、使用中の GPU エンジンの数や、GPU が予期せずアイドル状態になっている領域を特定する必要があります。
ズーム
CPU 使用率グラフまたは GPU アクティビティ グラフを拡大するには、セクションを選択するか、グラフの上にあるズーム スライダー ツールを使用します。 ズーム設定は、他のビューに切り替えると維持されます。 もう一度縮小するには、ズーム スライダー ツールを使用します。 Ctrl+scroll を使用してズームすることもできます。
CPU 使用率グラフ
CPU 使用率グラフには、時間の経過に伴うアプリの使用率のレベルが表示されます。 X 軸はトレースの期間を表し、y 軸はシステム上の論理コアの数を表します。 グラフには、特定のコアがどの時点でアクティブであるかは表示されません。 たとえば、2 つのコアがそれぞれ特定の期間に 50% の容量で実行されている場合、このビューには、1 つの論理コアが使用されていることが表示されます。
CPU 使用率グラフの色
緑は、現在のプロセスによるシステム内の論理コアの使用率を示します。
淡い灰色は、システム上の他のプロセスによる論理コアの使用率を示します。 CPU グラフの明るい灰色の割合が高い場合は、システムが他のプロセスによって大幅に負荷がかかり、あなたのプロセスがそれらによって割り込まれる可能性が高いことを示しています。 他のプロセスによる論理コアの消費量を減らすには、システムで実行されている論理コアの数を減らします。
濃い灰色は、システム プロセスによる論理コアの消費量を示します。 これを直接制御することはできませんが、プロセスの論理コアの可用性に影響を与える可能性があるため、いつ発生するかを把握すると便利です。
White は、システム上の未使用の論理コアの可用性を示します。 並列処理の機会が増える場合は、これらのコアをプロセスで使用できます。
平均 CPU 使用率
プロセスの期間中にプロファイリングされたプロセスのシステムの論理コアの平均使用率を示します。 グラフには、特定のコアがどの時点でアクティブであるかは表示されません。 たとえば、2 つのコアがそれぞれ特定の期間に 50% の容量で実行されている場合、このビューには、1 つの論理コアが使用されていることが表示されます。
ズーム コントロール (使用率表示)
ズーム コントロールを使用すると、特定の関心領域に焦点を当てるために CPU 使用率グラフを拡大できます。 このコントロールは、ビューの中心を拡大します。 そのため、拡大する前に対象領域を中央に配置する必要があります。
CPU 使用率グラフまたは GPU アクティビティ チャートでマウス ポインターをドラッグすると、強調表示された領域を作成できます。 マウス ボタンを離すと、選択した範囲でビューが拡大表示されます。
GPU アクティビティ グラフ
コンカレンシー ビジュアライザーの GPU アクティビティ グラフには、時間の経過と同時に使用されている DirectX エンジンの数によって測定された、システム上の DirectX アクティビティのレベルが表示されます。 グラフには、使用された特定のエンジンは表示されません。 エンジンが GPU 作業を処理している場合、エンジンは使用中と見なされます。
GPU アクティビティ グラフの色
緑は、現在のプロセスによる DirectX エンジンの消費量を示します。
淡い灰色は、システム上の他のプロセスによる DirectX エンジンの消費量を示します。 他のプロセスによる DirectX エンジンの消費量を減らすには、システムで実行されている他のプロセスの数を減らします。
白は、システム上の未使用の DirectX エンジンの可用性を示します。 これらのエンジンは、それらを利用する機会が増える場合に、プロセスで利用できます。 一部のエンジンは、特定の種類のタスクにのみ使用できます。
GPU アクティビティ (ページング)
[スレッド] タブの GPU アクティビティ (ページング) セグメントは、GPU がページング要求を処理していた時間を表します。 セグメントの長さは、GPU がダイレクト メモリ アクセス (DMA) ページング パケットを処理していた時間を表します。 通常、ページング パケットは、CPU と GPU の間のメモリの転送に関連付けられます。
GPU ページング セグメントを選択すると、[ 現在 ] タブのレポートに、処理された DMA パケットに関する情報が表示されます。 これには、DirectX エンジンに関連付けられているハードウェア キューで待機した時間、DMA パケットを送信したプロセス、パケットの処理に必要な時間が含まれます。
GPU アクティビティ (このプロセス)
コンカレンシー ビジュアライザーの [スレッド] ビューの GPU アクティビティ (このプロセス) セグメントは、GPU が現在のプロセスに代わって要求を処理していた時間を表します。 これらの要求は、ダイレクト メモリ アクセス (DMA) パケットとして GPU に送信されます。 セグメントの長さは、GPU が現在のプロセスに代わって DMA パケットを処理していた時間を表します。
GPU アクティビティ セグメントを選択すると、[ 現在 ] タブのレポートに、処理された DMA パケットに関する情報が表示されます。 この情報には、DirectX エンジンに関連付けられているハードウェア キューでパケットが待機した時間、パケットを送信したプロセス、パケットの処理に必要な時間が含まれます。 現在のプロセス以外のプロセスが、DMA パケットを GPU に物理的に送信している可能性があります。 コンカレンシー ビジュアライザーは、別のプロセスが現在のプロセスに代わって GPU に作業を送信したタイミングを検出できます。
GPU アクティビティ (その他のプロセス)
コンカレンシー ビジュアライザーの [スレッド] ビューの GPU アクティビティ (その他のプロセス) セグメントは、GPU がシステム上の他のプロセスに代わって要求を処理していた時間を表します。 これらの要求は、直接メモリ アクセス (DMA) パケットとして GPU に送信されます。 セグメントの長さは、GPU によってパケットが処理された時間を表します。
この種類のセグメントを選択すると、[ 現在 ] タブのレポートに、処理されたパケットに関する情報が表示されます。 この情報には、DirectX エンジンに関連付けられているハードウェア キューでパケットが待機した時間、パケットを送信したプロセス、パケットの処理に必要な時間が含まれます。