API Reference: Performance Counters¶

This is the API reference for the functions, classes, and enums in the renderdoc module which represents the underlying interface that the UI is built on top of. For more high-level information and instructions on using the python API, see Python API.

Counters¶

class renderdoc.CounterDescription¶

Describes a GPU counter’s purpose and result value.

category¶

The counter category. Can be empty for uncategorized counters.

Type:

str

counter¶

The GPUCounter this counter represents.

Note

This is stored as an int not a GPUCounter to allow for values that may not correspond to any of the predefined values if it’s a hardware-specific counter value.

Type:

int

description¶

If available, a longer human-readable description of the value this counter measures.

Type:

str

name¶

A short human-readable name for the counter.

Type:

str

resultByteWidth¶

The number of bytes in the resulting value.

Type:

int

resultType¶

The type of value returned by this counter.

Type:

CompType

unit¶

The CounterUnit for the result value.

Type:

CounterUnit

uuid¶

The unique identifier for this counter that will not change across drivers or replays.

Type:

Uuid

class renderdoc.CounterUnit(value)¶

The unit that GPU counter data is returned in.

Absolute¶

The value is an absolute value and should be interpreted as unitless.

Seconds¶

The value is a duration in seconds.

Percentage¶

The value is a floating point percentage value between 0.0 and 1.0.

Ratio¶

The value describes a ratio between two separate GPU units or counters.

Bytes¶

The value is in bytes.

Cycles¶

The value is a duration in clock cycles.

Hertz¶

The value is a value in Hertz (cycles per second).

Volt¶

The value is a value in Volts.

Celsius¶

The value is a value in Celsius.

class renderdoc.Uuid¶

A 128-bit Uuid.

words¶

The Uuid bytes as a tuple of four 32-bit integers.

Type:

Tuple[int,int,int,int]

Counter Types¶

class renderdoc.GPUCounter(value)¶

Pre-defined GPU counters that can be supported by a given implementation.

GPU counters actually available can be queried by ReplayController.EnumerateCounters(). If any in this list are supported they will be returned with these counter IDs. More counters may be enumerated with IDs in the appropriate ranges.

EventGPUDuration¶

Time taken for this event on the GPU, as measured by delta between two GPU timestamps.

InputVerticesRead¶

Number of vertices read by input assembler.

IAPrimitives¶

Number of primitives read by the input assembler.

GSPrimitives¶

Number of primitives output by a geometry shader.

RasterizerInvocations¶

Number of primitives that were sent to the rasterizer.

RasterizedPrimitives¶

Number of primitives that were rendered.

SamplesPassed¶

Number of samples that passed depth/stencil test.

VSInvocations¶

Number of times a vertex shader was invoked.

HSInvocations¶

Number of times a hull shader was invoked.

TCSInvocations¶

Number of times a tessellation control shader was invoked.

DSInvocations¶

Number of times a domain shader was invoked.

TESInvocations¶

Number of times a tessellation evaluation shader was invoked.

GSInvocations¶

Number of times a domain shader was invoked.

PSInvocations¶

Number of times a pixel shader was invoked.

FSInvocations¶

Number of times a fragment shader was invoked.

CSInvocations¶

Number of times a compute shader was invoked.

TSInvocations¶

Number of times a task shader was invoked.

ASInvocations¶

Number of times a amplification shader was invoked.

MSInvocations¶

Number of times a mesh shader was invoked.

FirstAMD¶

The AMD-specific counter IDs start from this value.

LastAMD¶

The AMD-specific counter IDs end with this value.

FirstIntel¶

The Intel-specific counter IDs start from this value.

LastIntel¶

The Intel-specific counter IDs end with this value.

FirstNvidia¶

The nVidia-specific counter IDs start from this value.

LastNvidia¶

The nVidia-specific counter IDs end with this value.

FirstVulkanExtended¶

The Vulkan extended counter IDs start from this value.

LastVulkanExtended¶

The Vulkan extended counter IDs end with this value.

FirstARM¶

The ARM-specific counter IDs start from this value.

LastARM¶

The ARM-specific counter IDs end with this value.

renderdoc.IsAMDCounter(c)¶

Check whether or not this is an AMD private counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is an AMD private counter, False if it’s not.

Return type:

bool

renderdoc.IsARMCounter(c)¶

Check whether or not this is an ARM private counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is an ARM private counter, False if it’s not.

Return type:

bool

renderdoc.IsGenericCounter(c)¶

Check whether or not this is a Generic counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is a generic counter, False if it’s not.

Return type:

bool

renderdoc.IsIntelCounter(c)¶

Check whether or not this is an Intel private counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is an Intel private counter, False if it’s not.

Return type:

bool

renderdoc.IsNvidiaCounter(c)¶

Check whether or not this is an Nvidia private counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is an Nvidia private counter, False if it’s not.

Return type:

bool

renderdoc.IsVulkanExtendedCounter(c)¶

Check whether or not this is a KHR counter.

Parameters:

c# (GPUCounter) – The counter.

Returns:

True if it is a Vulkan counter reported through the VK_KHR_performance_query extension, False if it’s not.

Return type:

bool

Results¶

class renderdoc.CounterResult¶

The resulting value from a counter at an event.

counter¶

The counter that produced this value, stored as an int.

Note

This is stored as an int not a GPUCounter to allow for values that may not correspond to any of the predefined values if it’s a hardware-specific counter value.

Type:

int

eventId¶

The eventId that produced this value.

Type:

int

value¶

The value itself.

Type:

CounterValue

class renderdoc.CounterValue¶

A resulting value from a GPU counter. Only one member is valid, see CounterDescription.

d¶

A double value.

Type:

float

f¶

A float value.

Type:

float

u32¶

A 32-bit unsigned integer.

Type:

int

u64¶

A 64-bit unsigned integer.

Type:

int