> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ConfigurePMCs

> ConfigurePMCs

# ConfigurePMCs

設定四個硬體效能監視計數器 (PMC)，讓遊戲能夠直接為遊戲程式碼讀取這些計數器。

## 語法

```cpp theme={null}
HRESULT ConfigurePMCs(  
         unsigned int eventIndex0,  
         unsigned int eventIndex1,  
         unsigned int eventIndex2,  
         unsigned int eventIndex3  
)  
```

### 參數

*eventIndex0*   \
類型：unsigned int

要計數之事件的索引。

*eventIndex1*   \
類型：unsigned int

要計數之事件的索引。

*eventIndex2*   \
類型：unsigned int

要計數之事件的索引。

*eventIndex3*   \
類型：unsigned int

要計數之事件的索引。

### 傳回值

類型：HRESULT

成功或錯誤碼。

| 代碼 | 描述 |
| - | - |
| S\_OK | 成功。 |
| E\_INVALIDARG | 一或多個索引超出範圍。 |
| E\_ACCESS\_DENIED | 拒絕存取驅動程式。 |

## 備註

有四個硬體計數器可直接設定為計數事件。下表列出這些事件。事件的索引既用於為此方法指定事件，也用於透過 [GetPMCValue](/zh-TW/reference/tools/pix3/functions/getpmcvalue) 擷取計數。

| 索引 | 事件 | 描述 |
| - | - | - |
| 0 | 保留 | 保留。 |
| 1 | RetiredSseAvx | 已淘汰的 SSE/AVX 作業數目。 |
| 2 | DCacheAccesses | 載入與儲存參考對 L1 資料快取的存取數目。 |
| 3 | DCacheMisses | 未命中資料快取的 L1 資料快取參考數目。 |
| 4 | DCacheRefills | 從 L2 快取 (和/或北橋) 自無法快取的記憶體滿足的 L1 資料快取重新填入數目。 |
| 5 | L1DTLBMissL2DTLBHit | 在 L1 DTLB 中未命中且在 L2 DTLB 中命中的 L1 資料快取存取數目。 |
| 6 | DtlbMiss | 在 L1 和 L2 DTLB 中都未命中的 L1 資料快取存取數目。 |
| 7 | L1DtlbHit | 在 L1 DTLB 中命中的 L1 資料快取存取數目。 |
| 8 | L1ITLBMissL2ITLBHit | 在 L1 ITLB 中未命中但在 L2 ITLB 中命中的指令擷取數目。 |
| 9 | ItlbMiss | 在 4K ITLB 和 2M ITLB 中未命中的指令擷取數目。 |
| 10 | ItlbInstructionFetchHits | 在 4K ITLB 和 2M ITLB 中命中的指令擷取數目。 |
| 11 | MisalignedAccess | 未對齊的 L1 資料快取存取數目。未對齊的存取至少會產生一次額外的快取存取，且讀取時會多一個週期的延遲。 |
| 12 | IneffectiveSWPrefetches | 未實際造成 L1 資料快取重新填入的軟體預先擷取數目。 |
| 13 | CpuClkNotHalted | CPU 未處於停止狀態的時脈數。 |
| 14 | RetiredInstructions | 已淘汰的指令數目 (執行完成且已更新架構狀態)。此計數包括例外狀況與中斷。 |
| 15 | BranchInstructions | 已淘汰的分支指令數目。這包括所有類型的架構控制流程變更，包括例外狀況與中斷。 |
| 16 | MispredictedBranch | 已淘汰且目標或方向未正確預測的任何類型分支指令數目。這包括未嘗試預測的指令 (遠端控制轉移、例外狀況與中斷)，但不包括重新同步。 |
| 17 | RetiredTakenBranch | 已淘汰的已採用分支數目。這包括所有類型的架構控制流程變更 (包括例外狀況與中斷)，但不包括重新同步。 |
| 18 | RetiredFarSyscall | 已淘汰的遠端系統呼叫數目。 |
| 19 | RetiredNearReturns | 已淘汰的近端傳回指令數目。 |
| 20 | RetiredReturnsMispredicted | 已淘汰一個目標或方向預測錯誤的近端傳回指令。 |
| 21 | MispredictedTakenBranch | 已淘汰一個目標位址預測錯誤 (但方向正確) 的已採用分支指令。 |
| 22 | MmxFPInstructions | 已淘汰一個浮點 (x87、MMX 或 SSE) 指令。 |
| 23 | RetiredFPInstructions | 已淘汰的 SSE/AVX 作業數目。 |
| 24 | RetiredMmxInstructions | 已淘汰的 MMX 作業數目。 |
| 25 | RetiredSseInstructions | 已淘汰的 SSE 作業數目。 |
| 26 | InstructionFetchStalls | 指令擷取引擎停滯的週期數。 |
| 27 | DataCachePrefetches | L1 資料快取預先擷取。 |
| 28 | DataCacheReadSize | L1 資料快取讀取數目。 |
| 29 | DataCacheWriteSize | L1 資料快取寫入數目。 |
| 30 | ITLBReloadStalls | 擷取引擎因 ITLB 重新載入而停滯的週期數。 |

## 需求

**標頭：** pix3.h

**程式庫：** pixevt.lib

**支援的平台：** XBOX One 系列主機和 XBOX Series 主機

## 另請參閱

[ConfigureL2IPMCs](/zh-TW/reference/tools/pix3/functions/configurel2ipmcs)\
[ConfigureNBPMCs](/zh-TW/reference/tools/pix3/functions/configurenbpmcs)\
[GetPMCValue](/zh-TW/reference/tools/pix3/functions/getpmcvalue)\
[PIX (NDA 主題)](/zh-TW/tools/tools-console/pix/pix)\
[XBOX 上的 PIX3](/zh-TW/reference/tools/pix3/pix3_members)


## Related topics

- [ConfigurePMCs](/reference/tools/pix3/functions/configurepmcs.md)
- [ConfigureNBPMCs](/reference/tools/pix3/functions/configurenbpmcs.md)
