Skip to main content

ConfigureNBPMCs

Configures the four hardware Performance Monitor Counters (PMCs) inside the north bridge to enable a title to read the counters directly for the title code.

Syntax

Parameters

eventIndex6   
Type: unsigned int
Index of the event to count. eventIndex7   
Type: unsigned int
Index of the event to count. eventIndex8   
Type: unsigned int
Index of the event to count. eventIndex9   
Type: unsigned int
Index of the event to count.

Return value

Type: HRESULT Success or error code.

Remarks

The north bridge has 4 performance counters which can count events. NB PMC values can be read from any core. North bridge memory transactions are 64 bytes. Events marked with * are recorded from the dram controllers (DCTs). Set eventIndex6 only when configuring these events since the same event need to be set for each dram controller On XBOX One, we have 4 dram controllers and 4 counters, so you sum PMC6-PMC9 to get the total result.
For example: total memory traffic for NBAllReadWrites = (PCM6+PMC7+PCM8+PMC9) * 64
On XBOX One X, we have 12 dram controllers and 4 counters so we only count traffic on every 3rd DCT. Memory traffic is mostly symmetric so it reasonable to assume that the total number of events is three times the sum PMC6-PMC9.
For example: total memory traffic for NBAllReadWrites = (PCM6+PMC7+PCM8+PMC9) * 3 * 64

Requirements

Header: pix3.h Library: pixevt.lib Supported platforms: XBOX One family consoles and XBOX Series consoles

See also

GetPMCValue
ConfigurePMCs
ConfigureL2IPMCs
PIX3 on XBOX
PIX (NDA topic)
Last modified on August 20, 2026