下列放大的螢幕擷取畫面顯示 GPU 硬體佇列,以及四個進程的內容 CPU 佇列。
內容 CPU 佇列專案與 GPU 硬體佇列中的專案之間的關聯是 GPUView 中最基本的關聯性之一。 在上圖中,最左邊的紅色箭號指向 [上下文 CPU 佇列] 色彩索引鍵。 底部的紅色箭號指向內容 CPU 佇列中的對應資料項目,而最上方的紅色箭號則指向 GPU 硬體佇列中來自 Dwm.exe 進程內容 CPU 佇列的 DMA 封包。 在任何時候,您都可以通過查看 GPU 硬件隊列中塊的顏色來查看哪些應用程序(進程)在 GPU 上運行。
由於 Windows 會虛擬化視訊硬體,因此在上下文 CPU 佇列中執行的工作代表已進入硬體佇列但硬體實際上尚未處理的圖形工作負載。 下圖可能有助於查看內容 CPU 佇列與 GPU 硬體佇列之間的關聯性。
在這裡,應用程式在最左邊的紅色箭頭點提交了工作給 GPU。 佇列中已經有另外兩個工作項目,以最左邊的淺藍色箭頭表示。 在上方的 GPU 硬體佇列中,您會看到其他一些進程在 GPU 上工作,直到很久以後,您才最終看到應用程式的前兩個工作專案在 GPU 硬體佇列中執行 (GPU 硬體佇列中的淺藍色箭號) 。 最後,醒目提示的工作專案 (佇列封包) 會進入 GPU 硬體佇列 (以黑色箭號表示) ,並在此之後不久執行完成 (兩個黃色箭號) 。 就在那之後,應用程式最終將工作視為已完成(最右邊的紅色箭頭)。 即使通過工作項(隊列數據包)在硬件上執行也只需要 1.5 毫秒,它也必須在這台非常繁忙的機器上等待輪到它。 對於申請,從提交到完成大約需要 28 毫秒。
上下文 GPU 佇列的詳細資料
內容 CPU 佇列的配置類似於 GPU 硬體佇列的配置。
顏色鍵
最左邊的矩形顯示的是 Context CPU Queue 中所有工作項目(資料包)的色彩鍵。 此顏色鍵有助於識別 GPU 硬體佇列花費時間的位置。
上下文佇列區域
灰色區域表示上下文佇列區域。
內容 CPU 佇列文字
內容佇列區域上方的文字提供關於在 Context 中執行的工作以及與 GPU 硬體佇列相關聯的工作的詳細資訊。 第一個數字是在指定檢視區時間內實際在脈絡 CPU 队列中執行的項目計數。 (請注意,它是內容 CPU 佇列底部資料列中項目數的計數)。 之後是這些工作項目(佇列封包)在 GPU 硬體佇列中執行所花費的時間,以及與檢視區相關的百分比。 接下來是對於上下文 CPU 佇列項目的相同計算。
內容 CPU 佇列項目
上下文CPU隊列中的純色矩形代表標準隊列封包。 這是 GPU 的工作。 交叉影線矩形是當前的資料包,具有對角線的矩形代表當前權杖包。
反轉曲面
在與 Dwm.exe 進程相關聯的內容 CPU 佇列中,GPUView 會在目前封包矩形中提供翻轉表面位址。 第一個數字是翻轉隊列。 第二個數字是將要翻轉的表面的位址。 此號碼通常可以在發出當前資料包之前完成的DMA資料包中找到。
關於佇列的注意事項
如 GPUView 所見,隊列是一系列的工作排入其中,等候執行。 在顯示畫面中,堆疊底部 (底列) 的項目是在該特定時刻實際正在處理的項目。 下一個等待處理的項目會堆疊在正在執行的項目之上。 轉換點是當一項工作專案完成後,下一個正在等待的工作專案會成為即將被處理的工作專案的時刻。 這些轉換點在執行工作和完成封包時,賦予隊列階梯式的外觀。 新增至佇列的最新項目一律會放在最上方。