次の方法で共有


コンテキスト CPU キュー

次に示すのは、4 つのプロセスのコンテキスト CPU キューと共に GPU ハードウェア キューを示す拡大されたスクリーン ショットです。

Screenshot of the GPU Hardware Queue and Context CPU Queues for four processes.

コンテキスト CPU キュー項目と GPU ハードウェア キュー内の項目の間の関連付けは、GPUView の最も基本的なリレーションシップの 1 つです。 上の図では、左端の赤い矢印がコンテキスト CPU キューの色キーを指しています。 下の赤い矢印はコンテキスト CPU キュー内の対応するデータ項目を指し、一番上の赤い矢印は、Dwm.exe プロセスのコンテキスト CPU キューから取得された GPU ハードウェア キュー内の DMA パケットを指します。 GPU ハードウェア キュー内のブロックの色を調べることで、GPU で動作しているアプリケーション (プロセス) をいつでも確認できます。

Windows はビデオ ハードウェアを仮想化するため、コンテキスト CPU キューで実行される作業は、ハードウェアにキューされているグラフィックス ワークロードを表しますが、実際にはハードウェアによって処理されません。 次の図は、コンテキスト CPU キューと GPU ハードウェア キューの関係を確認するのに役立ちます。

Diagram showing the relationship between Context CPU Queue and GPU Hardware Queue.

ここで、アプリケーションは左端の赤い矢印のポイントで GPU の作業を送信しました。 既にキューに入っていたのは、左端の水色の矢印で示された他の 2 つの作業項目でした。 GPU ハードウェア キューの上を見ると、他のいくつかのプロセスが GPU で動作しなくなったことがわかります。最終的に、アプリケーションの最初の 2 つの作業項目が GPU ハードウェア キュー (GPU ハードウェア キューの薄い青い矢印) に表示されます。 最終的に、強調表示された作業項目 (キュー パケット) は GPU ハードウェア キュー (黒い矢印で示されます) になり、その後すぐに完了まで実行されます (2 つの黄色い矢印)。 その直後に、アプリケーションは最終的に作業が完了したと見なします (右端の赤い矢印)。 作業項目 (キュー パケット) を使用しても、ハードウェアでの実行に 1.5 ミリ秒しかかからなかったとしても、この非常にビジー状態のコンピューターの電源が入るのを待つ必要がありました。 アプリケーションに送信されてから完了するまでに約 28 ミリ秒かかりました。

コンテキスト GPU キューの詳細

コンテキスト CPU キューのレイアウトは、GPU ハードウェア キューのレイアウトに似ています。

Screenshot displaying the layout of the Context GPU Queue.

色キー

左端の四角形は、コンテキスト CPU キュー内のすべての作業項目 (キュー パケット) の色キーを示しています。 この色キーは、GPU ハードウェア キューが時間を費やしている場所を特定するときに役立ちます。

コンテキスト キュー領域

灰色の領域は、コンテキスト キュー領域を表します。

コンテキスト CPU キュー テキスト

コンテキスト キュー領域の上のテキストは、コンテキストで実行されている作業と GPU ハードウェア キュー内の関連する作業に関する詳細を提供します。 最初の数値は、指定されたビューポート時間中にコンテキスト CPU キューで実際に実行された項目の数です。 (コンテキスト CPU キューの下の行にある項目の数であることに注意してください)。 その後は、これらの作業項目 (キュー パケット) が GPU ハードウェア キューでの実行に費やされた時間と、ビューポートの関連する割合です。 これは、コンテキスト CPU キュー項目の計算と同じです。

コンテキスト CPU キュー項目

コンテキスト CPU キューの単色の四角形は、標準のキュー パケットを表します。 これは GPU で動作します。 網目状の四角形は存在するパケットであり、斜めの線がある四角形は Present Token Packets を表します。

Flip Surface

Dwm.exe プロセスに関連付けられているコンテキスト CPU キューでは、GPUView は、Present Packet の四角形内の Flip Surface アドレスを指定します。 最初の数値は Flip Queue です。 2 番目の数値は、反転されるサーフェスのアドレスです。 通常、この番号は、Present Packet が発行される直前に完了した DMA Packet で確認できます。

キューに関する注意

GPUView から見たキューは、キューに登録され、実行されるのを待機している作業のスタックです。 表示では、スタックの一番下 (下の行) の項目は、その特定の時点で実際に作業されている項目です。 作業を待機している次の項目は、実行中の項目の上に積み重ねされます。 移行ポイントは、1 つの作業項目が終了し、待機中の作業項目が次の作業項目になる瞬間です。 これらの移行ポイントにより、作業が実行され、パケットが完了すると、階段ステップがキューに表示されます。 キューに追加された最新の項目は常に一番上に配置されます。