使用状況ビュー

使用状況ビューには、現在のプロセスによって使用されている CPU、GPU、その他のシステム リソースに関する情報が表示されます ([分析]>[コンカレンシー ビジュアライザー] の順に選択して、コンカレンシー ビジュアライザーを開始します)。 このビューには、分析対象のプロセス、アイドル プロセス、システム プロセス、一定期間システム上で実行中のその他のプロセスによる平均コア使用状況が表示されます。 任意の時点でどのコアがアクティブなのかは表示されません。 たとえば、特定の期間、2 つのコアがそれぞれキャパシティの 50% で動作している場合、このビューには 1 つの論理コアが使用されているものとして表示されます。 このビューは、プロファイル時間を短い時間セグメントに分割して生成されます。 セグメントごとに、その期間中、論理コアで実行されているプロセス スレッドの平均数がグラフに示されます。

CPU Utilization View

このグラフの x 軸には時間が示され、対象プロセス、アイドル プロセス、システム プロセスが使用する平均論理コア数が表示されます。 (アイドル プロセスはアイドル状態のコアを示します。システム プロセスは他のプロセスに代わって処理を実行できる Windows のプロセスです)。システム アカウントで実行されているその他のプロセスは、残りのコアの使用状況に相当します。

論理コア数は、y 軸に示されます。 Windows は、ハードウェアでの同時マルチスレッドのサポート (たとえば、ハイパースレッディングなど) を論理コアとして扱います。 このため、1 つのコアについて 2 つのハードウェア スレッドをサポートするクアッドコア プロセッサが搭載されたシステムは、8 つの論理コアのシステムとして表示されます。 これは、コア ビューにも当てはまります。 詳細については、「コア ビュー」を参照してください。

GPU アクティビティ グラフには、一定期間にわたって使用中の DirectX エンジンの数が表示されます。 DMA パケットを処理している場合、1 つのエンジンが使用中です。 グラフには、特定の 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 グラフの明るいグレーの割合が高い場合は、他のプロセスによってシステムの負荷が高く、自分のプロセスよりそれらが優先されていることを示します。 他のプロセスによる論理コアの消費量を減らすには、システム上で実行される他のプロセスの数を減らします。

  • 濃いグレーは、システム プロセスによる論理コアの使用量を示します。 これを直接制御することはできませんが、プロセスが論理コアを使用できるかどうかに影響する場合があるので、いつ発生するのかを知っておくと役に立ちます。

  • 白は、システム上の未使用の論理コアを使用できるかどうかを示します。 これらのコアは、並列処理の機会があれば、プロセスで使用できます。

平均 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 に関連するハードウェア キューで待機していた時間、パケットを送信したプロセス、パケットの処理に要した時間が含まれます。