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.
Sections
Counters¶
- class renderdoc.CounterDescription¶
Describes a GPU counter’s purpose and result value.
- category¶
The counter category. Can be empty for uncategorized counters.
- counter¶
The
GPUCounter
this counter represents.Note
This is stored as an
int
not aGPUCounter
to allow for values that may not correspond to any of the predefined values if it’s a hardware-specific counter value.
- description¶
If available, a longer human-readable description of the value this counter measures.
- name¶
A short human-readable name for the counter.
- resultByteWidth¶
The number of bytes in the resulting value.
- resultType¶
The
type of value
returned by this counter.
- unit¶
The
CounterUnit
for the result value.
- 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.
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 aGPUCounter
to allow for values that may not correspond to any of the predefined values if it’s a hardware-specific counter value.
- value¶
The value itself.
- Type