除非另有說明,本文件中的所有術語與硬體詳細資料皆以 XBOX Series X|S GPU 為準。
SQTT
SQTT 是一種低階分析追蹤,可以記錄整個著色器引擎 (SE) 的一般活動,以及單一 SIMD 上的詳細活動。這包括著色器波的開始/結束、暫存器寫入,以及指令發出/執行等動作。什麼是佔用率?
佔用率是指硬體資源的使用率。佔用率通常以最大值的百分比 (例如 82%) 表示,或相對於 GPU 上的單一 SIMD 表示 (例如 7 個波的佔用率,對 XBOX Series X|S 而言表示每個 SIMD 平均 7/20 個波,對 XBOX One 而言表示每個 SIMD 平均 7/10 個波)。您可以在 GPU 佔用率時間軸中檢視佔用率。內容輪替
XBOX Series X|S GPU 有 8 個用來儲存圖形內容狀態的圖形內容。其中一個內容保留給系統使用,剩下 7 個可供遊戲使用。當繪製無法重複使用現有的內容狀態時,就必須配置新的內容,並觸發內容輪替。內容輪替本身可能無害,但因內容輪替而造成的停滯 (表示無法配置新的內容,繪製必須等待內容釋放) 會帶來效能成本。 造成內容輪替最常見的內容狀態差異是內插值的設定,這表示從材質產生的 PSO 差異過大,或幾何未充分批次處理。如果使用多執行緒提交,在將繪製呼叫分割到多個執行緒提交之前,先依 PSO 狀態排序應該會有幫助。 GPU 內容時間軸可協助您找出內容使用量高、可能導致停滯的區域。SPM
計數器組
許多 GPU 區塊中有數千個可用的計數器,這可能讓您難以知道哪些計數器與您想調查的內容相關。 您可以使用 PIX 預先定義的計數器組選取一些常見情境的計數器,也可以定義自己的計數器組以儲存並重複使用。如果您建立了實用的計數器組並想提供給其他人使用,歡迎透過 PIX 中的意見反應按鈕聯絡 PIX 團隊,團隊會考慮將其加入預先定義的計數器組。 每個 GPU 區塊一次可收集的計數器數目有上限,會標示在 GPU 追蹤擷取選項中的 GPU 區塊名稱旁。此上限表示單一計數器組或單一擷取可能無法包含您想收集的所有計數器。在此情況下,建議您使用不同的計數器組進行多次擷取。 我想調查 X,應該使用哪些計數器? 以下是各種情境中一些實用的計數器:- 快取
- 幾何
- 延遲
- 記憶體
- 像素
- 著色器
- 紋理
| 測量 | 計數器組 | 描述 |
|---|---|---|
| L0 Cache Miss | TCP_PERF_SEL_REQ_MISS | 未命中 L0 快取 (又稱 TCP) 的要求數目。除以 TCP_PERF_SEL_REQ 可得到未命中的百分比。 |
| L1 Cache Miss | GL1C_PERF_SEL_REQ_MISS | 未命中 L1 快取 (又稱 GL1C) 的要求數目。除以 GL1C_PERF_SEL_REQ 可得到未命中的百分比。 |
| L2 Cache Miss | GL2C_PERF_SEL_MISS | 未命中 L2 快取 (又稱 GL2C 或 TCC) 的要求數目。除以 GL2C_PERF_SEL_REQ 可得到未命中的百分比。 |
| MDC Hit | GL2C_PERF_SEL_MDC_SECTOR_HIT | 命中 MDC 的要求數目。 |
| MDC Miss | GL2C_PERF_SEL_MDC_SECTOR_MISS | 未命中 MDC 的要求數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Color Cache Hit | CB_PERF_SEL_CC_CACHE_HIT | 命中 CB 色彩快取的要求數目。 |
| Color Cache Miss | CB_PERF_SEL_CC_CACHE_SECTOR_MISS | 未命中 CB 色彩快取的要求數目。 |
| CMask Cache Hit | CB_PERF_SEL_CM_CACHE_HIT | 命中 CB CMask 快取的要求數目。 |
| CMask Cache Miss | CB_PERF_SEL_CM_CACHE_SECTOR_MISS | 未命中 CB CMask 快取的要求數目。 |
| FMask Cache Hit | CB_PERF_SEL_FC_CACHE_HIT | 命中 CB FMask 快取的要求數目。 |
| FMask Cache Miss | CB_PERF_SEL_FC_CACHE_SECTOR_MISS | 未命中 CB DCC 快取的要求數目。 |
| DCC Cache Hit | CB_PERF_SEL_FC_DCC_CACHE_HIT | 命中 CB FMask 快取的要求數目。 |
| DCC Cache Miss | CB_PERF_SEL_FC_DCC_CACHE_SECTOR_MISS | 未命中 CB DCC 快取的要求數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Depth/Stencil Cache Hit | DB_PERF_SEL_Depth_Tile_Cache_hits | 命中 DB 深度/樣板快取的要求數目。 |
| Depth/Stencil Cache Miss | DB_PERF_SEL_Depth_Tile_Cache_misses | 未命中 DB 深度/樣板快取的要求數目。 |
| Depth Plane Cache Hit | DB_PERF_SEL_Plane_Cache_hits | 命中 DB 深度平面快取的深度平面要求數目。 |
| Depth Plane Cache Miss | DB_PERF_SEL_Plane_Cache_misses | 未命中 DB 深度平面快取的深度平面要求數目。 |
| HTile Cache Hit | DB_PERF_SEL_Tile_Cache_hits | 命中 DB HTile 快取的 HTile 要求數目。 |
| HTile Cache Miss | DB_PERF_SEL_Tile_Cache_misses | 未命中 DB HTile 快取的 HTile 要求數目。 |
| PMask Cache Hit | DB_PERF_SEL_Z_Cache_pmask_hits | 命中 DB 深度/樣板快取的深度索引 (PMask) 要求數目。 |
| PMask Cache Miss | DB_PERF_SEL_Z_Cache_pmask_misses | 未命中 DB 深度/樣板快取的深度索引 (PMask) 要求數目。 |
| Stencil Cache Hit | DB_PERF_SEL_Stencil_Cache_hits | 命中 DB 深度/樣板快取的樣板要求數目。 |
| Stencil Cache Miss | DB_PERF_SEL_Stencil_Cache_misses | 未命中 DB 深度/樣板快取的樣板要求數目。 |
| Separate-Z Cache Hit | DB_PERF_SEL_Z_Cache_separate_Z_hits | 命中 DB 深度/樣板快取的 Separate-Z 要求數目。 |
| Separate-Z Cache Miss | DB_PERF_SEL_Z_Cache_separate_Z_misses | 未命中 DB 深度/樣板快取的 Separate-Z 要求數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Instruction Cache Requests | SQC_PERF_SEL_ICACHE_REQ | 對 SQC 指令快取 (I$) 的要求數目。 |
| Instruction Cache Hit | SQC_PERF_SEL_ICACHE_HITS | 命中 SQC 指令快取 (I$) 的要求數目。 |
| Instruction Cache Miss | SQC_PERF_SEL_ICACHE_MISSES | 未命中 SQC 指令快取 (I$) 的要求數目。 |
| Data Cache Requests | SQC_PERF_SEL_DCACHE_REQ | 對 SQC 資料快取 (D$) 的要求數目。 |
| Data Cache Hit | SQC_PERF_SEL_DCACHE_HITS | 命中 SQC 資料快取 (D$) 的要求數目。 |
| Data Cache Miss | SQC_PERF_SEL_DCACHE_MISSES | 未命中 SQC 資料快取 (D$) 的要求數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Clipped Primitives (total) | PERF_PAPC_CLPR_VVUCP_CLIP_PRIM | 因與檢視體積 (視錐) 或 UPC 相交而需要一或多次裁剪作業的基本型別數目。 |
| Clipped Primitives (frustum) | PERF_PAPC_CLPR_VV_CLIP_PRIM | 因與檢視體積 (視錐) 相交而需要一或多次裁剪作業的基本型別數目。 |
| Clipped Primitives (UCP) | PERF_PAPC_CLPR_UCP_CLIP_PRIM | 因與 UPC 相交而需要一或多次裁剪作業的基本型別數目。 |
| Clipper-Generated Primitives | PERF_PAPC_SU_INPUT_CLIP_PRIM | 由裁剪器產生並傳遞給 SU 的基本型別數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Culled Primitives (UCP) | PERF_PAPC_CLPR_UCP_CULL_PRIM | 被 UPC 剔除的基本型別數目。 |
| Input Primitives (at PA) | PERF_PAPC_PA_INPUT_PRIM | 輸入至 PA 的基本型別數目。 |
| Visible Primitives (at PA) | PERF_PAPC_CLSM_TOTALLY_VISIBLE_PRIM | 完全可見 (無裁剪) 的基本型別數目。 |
| Culled Primitives (at PA) | PERF_PAPC_CLSM_CULL_TO_NULL_PRIM | 在 PA 裁剪過程中被剔除的基本型別數目。 |
| Culled Primitives (at VTE) | PERF_PAPC_CLIPGA_VTE_KILL_PRIM | 被 VTE NAN/INF 邏輯剔除的基本型別數目 (SV_Position 包含 INF/NAN 值)。 |
| Input Primitives (at SU) | PERF_PAPC_SU_INPUT_PRIM | 輸入至 SU 的基本型別數目。 |
| Clipped Input Primitives (at SU) | PERF_PAPC_SU_INPUT_CLIP_PRIM | 輸入至 SU 的已裁剪基本型別數目。 |
| Back-face Culling (at SU) | PERF_PAPC_SU_BACK_FACE_CULL_PRIM | 因面向而被剔除的背面基本型別數目。 |
| Front-face Culling (at SU) | PERF_PAPC_SU_FRONT_FACE_CULL_PRIM | 因面向而被剔除的正面基本型別數目。 |
| Small Primitive Filter (at SU) | PERF_SU_SMALL_PRIM_FILTER_CULL_CNT | 被小型基本型別篩選器剔除的基本型別數目。可用來衡量流向 SC 之不必要流量的減少程度。 |
| Zero Area Filter (at SU) | PERF_PAPC_SU_ZERO_AREA_CULL_PRIM | 因面積為零而被剔除的基本型別數目。 |
| Output Primitives (at SU) | PERF_PAPC_SU_OUTPUT_PRIM | 從 SU 輸出的基本型別數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| GS Input Primitives | GE_PERFCOUNT_SEL_SPI_GSPRIM_VALID | 傳遞給幾何著色器的基本型別數目。 |
| VS Vertexes | GE_PERFCOUNT_SEL_SPI_VSVERT_SEND | 頂點著色器處理的頂點數目。啟用 GS 時,這些代表幾何著色器輸出的頂點。啟用鑲嵌時,這些代表輸入至輪廓著色器的區塊控制點。 |
| HS Output Patch Control Points | GE_PERFCOUNT_SEL_SPI_HSVERT_VALID | 輪廓著色器處理的輸出區塊控制點數目。 |
| Vertex Re-use | GE_PERFCOUNT_SEL_REUSED_VS_INDICES | 命中頂點重複使用緩衝區 (轉換後快取) 的索引數目。不包括 GS 與鑲嵌。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Parameter Cache Stall | GE_PERFCOUNT_SEL_PC_SPACE_ZERO | GE 因參數快取沒有空間而無法啟動新波的時間。 |
| Position Buffer Stall | SPI_PERF_VS_POS[0,1]_STALL | GE 因參數快取沒有空間而無法啟動新波的時間。表示 VS 之後有瓶頸,可能是 CULL/CLIP。使用 0/1 在每個 SE 上的 SA 0 或 1 之間選擇。 |
| SC In-Order Stall | SC_STARVED_BY_PA_WITH_UNSELECTED_PA_NOT_EMPTY | SC 在依序 PA 上停滯,但另一個非依序 PA 佇列已_就緒_的時間。表示如果允許的話會發生非依序點陣化,並可能帶來效能提升。 |
| SC Extreme In-Order Stall | SC_STARVED_BY_PA_WITH_UNSELECTED_PA_FULL | SC 在依序 PA 上停滯,但另一個非依序 PA 佇列已_滿_的時間。表示如果允許的話會發生非依序點陣化,且 PA 之間的不平衡非常嚴重。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| TCP End-to-End | TCP_PERF_SEL_TCP_LATENCY | 除以 TCP_PERF_SEL_TA_REQ_STATE_READ 可得到指令進入 TCP 與離開 TCP 之間的平均延遲。 |
| TCP End-to-End | TCP_PERF_SEL_TCP_LATENCY | 除以 TCP_PERF_SEL_TA_REQ_STATE_READ 可得到指令進入 TCP 與離開 TCP 之間的平均延遲。 |
| L1 Read | TCP_PERF_SEL_GL1_READ_LATENCY | 除以 TCP_PERF_SEL_GL1_REQ_READ 可得到從 L1 快取發出寫入要求至 L2 快取到要求完成之間的平均延遲。資料可能已經存在於 L2 快取中,也可能不存在。 |
| L1 Write | TCP_PERF_SEL_GL1_WRITE_LATENCY | 除以 TCP_PERF_SEL_GL1_REQ_WRITE 可得到從 L1 快取發出寫入要求至 L2 快取到要求完成之間的平均延遲。之後資料可能會保留在 L2 快取中,也可能不會。 |
| L2 Arbitration | GL2C_PERF_SEL_GL2A_LEVEL | 傳送至 GL2A 進行輸出仲裁的進行中要求數目。除以 GL2C_PERF_SEL_REQ 可得到 GL2A 仲裁的平均延遲。 |
| L2 Read | GL2C_PERF_SEL_MC_RDREQ_LEVEL | 進行中的 GL2C/EA 讀取要求數目。除以 GL2C_PERF_SEL_MC_RDREQ 可得到從 L2 快取發出讀取要求到要求完成之間的平均延遲。 |
| L2 Write | GL2C_PERF_SEL_MC_WRREQ_LEVEL | 進行中的 GL2C/EA 寫入要求數目。除以 GL2C_PERF_SEL_MC_WRREQ 可得到從 L2 快取發出讀取要求到要求完成之間的平均延遲。 |
| MDC Read | GL2C_PERF_SEL_MDC_LEVEL | 進行中的 MDC 要求數目。除以 GL2C_PERF_SEL_MDC_REQ 可得到從 MDC 發出讀取要求到要求完成之間的平均延遲。這些是 TCC 讀入 MDC 的 DCC Key / HTile 讀取。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Color Read | CB_PERF_SEL_CM_MC_READ_REQUESTS_IN_FLIGHT | 進行中的 32 位元組色彩讀取要求數目。除以 CB_PERF_SEL_CM_MC_READ_REQUEST 可得到色彩讀取要求從發出到完成之間的平均延遲。 |
| Color Write | CB_PERF_SEL_CM_MC_WRITE_REQUESTS_IN_FLIGHT | 進行中的 32 位元組色彩寫入要求數目。除以 CB_PERF_SEL_CM_MC_WRITE_REQUEST 可得到色彩寫入要求從發出到完成之間的平均延遲。 |
| CMask Read | CB_PERF_SEL_CM_MC_READ_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 CMask 讀取要求數目。除以 CB_PERF_SEL_CM_MC_READ_REQUEST 可得到 CMask 讀取要求從發出到完成之間的平均延遲。 |
| CMask Write | CB_PERF_SEL_CM_MC_WRITE_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 CMask 寫入要求數目。除以 CB_PERF_SEL_CM_MC_WRITE_REQUEST 可得到 CMask 寫入要求從發出到完成之間的平均延遲。 |
| FMask Read | CB_PERF_SEL_FM_MC_READ_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 FMask 讀取要求數目。除以 CB_PERF_SEL_FM_MC_READ_REQUEST 可得到 FMask 讀取要求從發出到完成之間的平均延遲。 |
| FMask Write | CB_PERF_SEL_FM_MC_WRITE_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 FMask 寫入要求數目。除以 CB_PERF_SEL_FM_MC_WRITE_REQUEST 可得到 FMask 寫入要求從發出到完成之間的平均延遲。 |
| DCC Key Read | CB_PERF_SEL_FC_MC_DCC_READ_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 DCC Key 表面讀取要求數目。除以 CB_PERF_SEL_FM_MC_READ_REQUEST 可得到 DCC Key 表面讀取要求從發出到完成之間的平均延遲。 |
| DCC Key Write | CB_PERF_SEL_FC_MC_DCC_WRITE_REQUESTS_IN_FLIGHT | 進行中的 32 位元組 DCC Key 表面寫入要求數目。除以 CB_PERF_SEL_FM_MC_WRITE_REQUEST 可得到 DCC Key 表面寫入要求從發出到完成之間的平均延遲。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Depth Read | DB_PERF_SEL_mi_quad_rd_outstanding_sum | 乘以 16 再除以 DB_PERF_SEL_quad_rd_32byte_reqs,可得到深度緩衝區讀取要求從發出到完成之間的平均延遲。SUM 計數器以 16 為單位遞增以避免溢位。 |
| Depth Write | DB_PERF_SEL_mi_quad_wr_outstanding_sum | 乘以 16 再除以 DB_PERF_SEL_quad_wr_sends,可得到深度緩衝區寫入要求從發出到完成之間的平均延遲。SUM 計數器以 16 為單位遞增以避免溢位。 |
| HTile Read | DB_PERF_SEL_mi_tile_rd_outstanding_sum | 乘以 2 再除以 DB_PERF_SEL_tile_rd_sends,可得到 HTile (Hi-Z) 讀取要求從發出到完成之間的平均延遲。SUM 計數器以 16 為單位遞增以避免溢位,而 RD_SENDS 計數器一次發出 8 個 32 位元組要求。 |
| HTile Write | DB_PERF_SEL_mi_tile_wr_outstanding_sum | 乘以 2 再除以 DB_PERF_SEL_tile_wr_sends,可得到 HTile (Hi-Z) 寫入要求從發出到完成之間的平均延遲。SUM 計數器以 16 為單位遞增以避免溢位,而 WR_SENDS 計數器一次發出 8 個 32 位元組要求。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Export Shader | GE_PERFCOUNT_SEL_ES_DONE_LATENCY | 除以 GE_PERFCOUNT_SEL_ES_FLUSH 可得到頂點提交至匯出著色器到完成著色返回之間的平均延遲。 |
| Geometry Shader | GE_PERFCOUNT_SEL_GS_DONE_LATENCY | 除以 GE_PERFCOUNT_SEL_GS_DONE 可得到基本型別提交至幾何著色器到完成著色返回之間的平均延遲。 |
| Hull Shader | GE_PERFCOUNT_SEL_HS_DONE_LATENCY | 除以 GE_PERFCOUNT_SEL_HS_DONE 可得到區塊提交至輪廓著色器到完成著色返回之間的平均延遲。 |
| Local Shader | GE_PERFCOUNT_SEL_LS_DONE_LATENCY | 除以 GE_PERFCOUNT_SEL_LS_DONE 可得到頂點提交至區域著色器到完成著色返回之間的平均延遲。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| DRAM Read | GL2C_PERF_SEL_EA_RDREQ_DRAM_32B | 因 DRAM 流量而對 GL2C / EA 發出的 32 位元組讀取要求數目。此測量已將所有額外擷取以及任何快取或記憶體效應納入考量。乘以 32 可得到讀取的位元組數。 |
| DRAM Write | GL2C_PERF_SEL_EA_WRREQ_DRAM_32B | 因 DRAM 流量而對 GL2C / EA 發出的 32 位元組寫入要求數目。此測量已將所有額外擷取以及任何快取或記憶體效應納入考量。乘以 32 可得到寫入的位元組數。 |
| DRAM Stall | GL2C_PERF_SEL_MC_WRREQ_STALL | 記憶體寫入要求停滯的時間。 |
| MDC Read | GL2C_PERF_SEL_EA_RD_MDC_32B | 因 MDC 流量而對 GL2C / EA 發出的 32 位元組寫入要求數目。這些是 TCC 讀入 MDC 的 DCC Key / HTile 讀取。 |
在 XBOX One GPU 上,CB 快取會直接與 DRAM 通訊;而在 XBOX Series X|S GPU 上,CB 快取會作為整體快取階層的一部分饋入 L1 快取。Color、CMask、FMask 與 DCC Key 各有一個 CB 快取。
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Color Read | CB_PERF_SEL_CC_MC_READ_REQUEST | 32 位元組色彩讀取要求的數目。乘以 32 可得到讀取的位元組數。 |
| Color Write | CB_PERF_SEL_CC_MC_WRITE_REQUEST | 32 位元組色彩寫入要求的數目。乘以 32 可得到寫入的位元組數。 |
| CMask Read | CB_PERF_SEL_CM_MC_READ_REQUEST | 32 位元組 CMask 讀取要求的數目。乘以 32 可得到讀取的位元組數。 |
| CMask Write | CB_PERF_SEL_CM_MC_WRITE_REQUEST | 32 位元組 CMask 寫入要求的數目。乘以 32 可得到寫入的位元組數。 |
| FMask Read | CB_PERF_SEL_FM_MC_READ_REQUEST | 32 位元組 FMask 讀取要求的數目。乘以 32 可得到讀取的位元組數。 |
| FMask Write | CB_PERF_SEL_FM_MC_WRITE_REQUEST | 32 位元組 FMask 寫入要求的數目。乘以 32 可得到寫入的位元組數。 |
| DCC Key Read | CB_PERF_SEL_FC_MC_DCC_READ_REQUEST | 32 位元組 FMask DCC Key 表面讀取要求的數目。乘以 32 可得到讀取的位元組數。 |
| DCC Key Write | CB_PERF_SEL_FC_MC_DCC_WRITE_REQUEST | 32 位元組 FMask DCC Key 表面寫入要求的數目。乘以 32 可得到寫入的位元組數。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Depth Read | DB_PERF_SEL_quad_rd_32byte_reqs | 對深度/樣板緩衝區發出的 32 位元組讀取要求數目。乘以 32 可得到讀取的位元組數。 |
| Depth Write | DB_PERF_SEL_quad_wr_acks | 對深度/樣板緩衝區發出的 32 位元組寫入要求數目。乘以 32 可得到寫入的位元組數。 |
| HTile Read | DB_PERF_SEL_tile_rd_sends | 對 HTile 發出的 256 位元組讀取要求數目。乘以 256 可得到讀取的位元組數。 |
| HTile Write | DB_PERF_SEL_tile_wr_sends | 對 HTile 發出的 256 位元組寫入要求數目。乘以 256 可得到寫入的位元組數。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Drawn Pixels | CB_PERF_SEL_DRAWN_QUAD_FRAGMENT | 繪製的像素數目。 |
| Drawn Quad Fragments | CB_PERF_SEL_DRAWN_PIXEL | 繪製的四邊形片段數目。 |
| Color Slow Pixels | CB_PERF_SEL_EXPORT_32_ABGR_QUAD_FRAGMENT | 使用半速率或四分之一速率格式寫入色彩緩衝區的像素數目。傳送這些像素的來源色彩資料需要兩個時脈。 |
| Exported Pixels | SX_PERF_SEL_DB[0-3]_PIXELS | 從著色器匯出至色彩緩衝區的像素數目。不包括被終止或經過 Alpha 測試的像素。如果有多個轉譯目標,每個轉譯目標都會收到一次匯出,因此寫入兩個 RT 的 1 個像素會計為 2。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Depth/Stencil Busy | DB_PERF_SEL_Op_Pipe_Busy | 深度與樣板忙碌的時間。所有像素都必須通過 DB 才能寫入色彩,因此即使停用深度與樣板,此計數器的值也可能很高。 |
| Depth Stalled | DB_PERF_SEL_DB_CB_lquad_stalls | 深度緩衝區等待色彩緩衝區準備好接受資料的時間。此處數值高表示色彩緩衝區作業有瓶頸。所有像素都必須通過 DB 才能寫入色彩,因此即使停用深度與樣板,此計數器的值也可能很高。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Early-Z Pass | DB_PERF_SEL_PreZ_Samples_passing_Z | 在著色之前進行 Z 測試並通過的樣本數目。 |
| Early-Z Depth Fail | DB_PERF_SEL_PreZ_Samples_failing_Z | 在著色之前進行 Z 測試且未通過 Z 測試的樣本數目。 |
| Early-Z Depth Bounds Fail | DB_PERF_SEL_PreZ_Samples_failing_DB | 在著色之前進行 Z 測試且未通過深度邊界測試的樣本數目。 |
| Early-Z Stencil Fail | DB_PERF_SEL_PreZ_Samples_failing_S | 在著色之前進行 Z 測試且未通過樣板測試的樣本數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Tile Count | DB_PERF_SEL_SC_DB_tile_tiles | 從 SC 傳送至 DB 的圖格數目。 |
| Hi-Z Total Accepts | DB_PERF_SEL_DB_SC_tile_tile_rate | 被 Hi-Z 接受且不需要逐像素深度或樣板測試的圖格數目。 |
| Hi-Z Total Rejects | DB_PERF_SEL_DB_SC_tile_hier_kill | 被 Hi-Z 拒絕並從管線中移除的圖格數目。 |
| Hi-Z Depth Accepts | DB_PERF_SEL_DB_SC_z_tile_rate | 以圖格速率進行深度運算的圖格數目,表示整個圖格通過深度測試且不需要逐像素測試。 |
| Hi-Z Depth Rejects | DB_PERF_SEL_hiz_tile_culled | 因整個圖格必定無法通過深度測試而被 Hi-Z 拒絕的圖格數目。不包括也未通過樣板或深度邊界測試的圖格。 |
| Hi-Z Depth Bounds Rejects | DB_PERF_SEL_depth_bounds_tile_culled | 因整個圖格必定無法通過深度邊界測試而被 Hi-Z 拒絕的圖格數目。 |
| Hi-Z Stencil Accepts | DB_PERF_SEL_DB_SC_s_tile_rate | 以圖格速率進行樣板運算的圖格數目,表示整個圖格通過樣板測試且不需要逐像素測試。只適用於樣板運算為覆寫或 NOP 的情況。 |
| Hi-Z Stencil Rejects | DB_PERF_SEL_his_tile_culled | 因整個圖格必定無法通過樣板測試而被 Hi-Z 拒絕的圖格數目。不包括也未通過深度邊界測試的圖格。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Late-Z Pass | DB_PERF_SEL_PostZ_Samples_passing_Z | 在著色之後進行 Z 測試並通過的樣本數目。 |
| Late-Z Depth Fail | DB_PERF_SEL_PostZ_Samples_failing_Z | 在著色之後進行 Z 測試且未通過 Z 測試的樣本數目。 |
| Late-Z Depth Bounds Fail | DB_PERF_SEL_PostZ_Samples_failing_DB | 在著色之後進行 Z 測試且未通過深度邊界測試的樣本數目。 |
| Late-Z Stencil Fail | DB_PERF_SEL_PostZ_Samples_failing_S | 在著色之後進行 Z 測試且未通過樣板測試的樣本數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Coarse Quads | DB_PERF_SEL_DB_CB_lquad_quads | 從 DB 傳送至 CB 的粗略四邊形數目。 |
| Coarse Quads | DB_PERF_SEL_DB_CB_lquad_quads_vrs_rate_1x1 | VRS 速率為 1x1 或更精細的粗略四邊形數目。 |
| Coarse Quads | DB_PERF_SEL_DB_CB_lquad_quads_vrs_rate_1x2 | VRS 速率為 1x2 的粗略四邊形數目。 |
| Coarse Quads | DB_PERF_SEL_DB_CB_lquad_quads_vrs_rate_2x1 | VRS 速率為 2x2 的粗略四邊形數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Wave Count | SQ_PERF_SEL_WAVES | 傳送至定序器 (SQ) 的波數目。 |
| Thread Count | SQ_PERF_SEL_ITEMS | 所有波中的執行緒數目。 |
| Pixel Quads | SQ_PERF_SEL_QUADS | 完全或部分覆蓋的像素四邊形數目。 |
| Exports | SQ_PERF_SEL_INSTS_EXP | 匯出指令的數目。來自像素著色器的匯出包括 SV_Target 與 SV_Depth。來自頂點著色器的匯出包括 SV_Position 與內插值。 |
| GDS Instructions | SQ_PERF_SEL_INSTS_GDS | 發出的全域資料存放區 (GDS) 指令數目。 |
| LDS Instructions | SQ_PERF_SEL_INSTS_LDS | 發出的區域資料存放區 (LDS) 指令數目。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| SX Position Stall | SX_PERF_SEL_SH_POS_STALL | SX 因基本型別組合器 (PS) 而停滯的時間。 |
| SX Output Stall | SX_PERF_SEL_SH_COLOR_STALL | SX 因至少一個 DB 而停滯的時間。如果不為零,表示 Late Z 測試或色彩緩衝區有瓶頸。 |
| VS Export Position Stall | SPI_PERF_VS_POS[0,1]_STALL | 幾何引擎 (GE) 因參數快取沒有空間而無法啟動新波的時間。表示 VS 之後有瓶頸,可能是 CULL/CLIP。使用 0/1 在每個著色器引擎 (SE) 上的著色器陣列 (SA) 0 或 1 之間選擇。 |
| LDS Bank Conflict | SQC_PERF_SEL_LDS_BANK_CONFLICT | 區域資料存放區 (LDS) 因記憶體庫衝突而停滯的時間。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| Wait on Export Alloc | SQ_PERF_SEL_WAIT_EXP_ALLOC | 著色器等待在匯出佇列中配置空間的時間。 |
| Wait on Export Issue | SQ_PERF_SEL_WAIT_INST_EXP_GDS | 著色器等待發出匯出或全域資料存放區 (GDS) 指令的時間。 |
| Wait on Export Completion | SQ_PERF_SEL_WAIT_CNT_EXP | 著色器等待匯出指令完成的時間。 |
| Wait on LDS Issue | SQ_PERF_SEL_WAIT_INST_LDS | 著色器等待發出區域資料存放區 (LDS) 指令的時間。 |
| Wait on SMEM Issue | SQ_PERF_SEL_WAIT_INST_SCA | 著色器等待發出純量記憶體 (SMEM) 指令的時間。 |
| Wait on SMEM Execution | SQ_PERF_SEL_WAIT_CNT_LGKM | 著色器等待純量記憶體 (SMEM) 指令返回的時間。 |
| Wait on VMEM Issue | SQ_PERF_SEL_WAIT_INST_VMEM | 著色器等待發出向量記憶體 (VMEM) 指令的時間。 |
| Wait on VMEM Execution | SQ_PERF_SEL_WAIT_CNT_VMVS | 著色器等待向量記憶體 (VMEM) 指令返回的時間。 |
| 測量 | 計數器組 | 描述 |
|---|---|---|
| TA Busy | TA_PERF_SEL_ta_busy | 紋理定址器 (TA) 忙碌的時間。 |
| TA Stall | TCP_PERF_SEL_TCP_TA_REQ_STALL | 紋理定址器 (TA) 停滯的時間。如果可能,請嘗試減少擷取與寫入的次數或大小。 |
| Read Requests | GL2C_PERF_SEL_READ | 讀取要求的數目,包括壓縮讀取與中繼資料讀取。 |
| TCC compressed reads | GL2C_PERF_SEL_COMPRESSED_READ_REQ | 命中 DCC Key / HTile 壓縮圖格的紋理快取通道 (TCC) 讀取數目。 |
| TCC compressed reads | GL2C_PERF_SEL_COMPRESSED_READ_0_REQ | 命中 DCC Key / HTile 快速清除圖格 (讀取 0 位元組壓縮資料) 的紋理快取通道 (TCC) 讀取數目。 |

| 術語 | 描述 | |
|---|---|---|
| CB | 色彩區塊。像素色彩混合器與輸出。 | |
| CU | 計算單元。由兩個 SIMD 組成。 | |
| DB | 深度樣板區塊。像素深度樣板測試與輸出。 | |
| EA | 記憶體存取效率仲裁器 | |
| GE | 幾何引擎 | |
| GL1A | 圖形 Level1 仲裁器。處理 GL1C 的仲裁。 | |
| GL1C | 圖形 Level1 快取。由 SA 中的所有用戶端共用。 | |
| GL2A | 圖形 Level2 仲裁器。處理 GL2C 的仲裁。 | |
| GL2C | 圖形 Level2 快取 (又稱 TCC)。所有來自記憶體的資料都會透過 GL2 存取。 | |
| MC | 記憶體控制器 | |
| MDC | 中繼資料快取 | |
| PA | 基本型別組合器 | |
| SIMD | 單一指令多重資料。執行著色器波。 | |
| SA | 著色器陣列。在 XBOX Series X | S 上由 WGP 組成,在 XBOX One 上由 CU 組成。 |
| SC | 掃描轉換器 | |
| SE | 著色器引擎。由 SA 組成。 | |
| SQ | 定序器。著色器系統中負責指令排程的主要單元。 | |
| SQC | 定序器快取。同時包含指令快取 (I)與供純量單元存取的資料快取(D)。 | |
| SU | 設定區塊。接收基本型別的頂點資料。 | |
| SX | 著色器 X-bar。著色器匯出至 CB 與 DB 的 X-bar。 | |
| TCP | 紋理快取管道。WGP 上的 L0 快取。 | |
| TCA | 紋理快取仲裁器。處理 TCC 的仲裁。 | |
| TCC | 紋理快取通道 | |
| UCP | 使用者裁剪平面 | |
| VTE | 檢視區轉換引擎 | |
| WGP | 工作群組處理器。由 2 個 CU 組成。(僅限 XBOX Series X | S) |
