API Reference: Frame Statistics¶

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.

class renderdoc.FrameStatistics¶

Contains all the available statistics about the captured frame.

Currently this information is only available on D3D11 and is fairly API-centric.

blends¶

Information about blend state binds.

Type:

BlendStats

constants¶

A list of constant buffer bind statistics, one per each stage.

Type:

List[ConstantBindStats]

depths¶

Information about depth-stencil state binds.

Type:

DepthStencilStats

dispatches¶

Information about compute dispatches.

Type:

DispatchStats

draws¶

Information about drawcalls.

Type:

DrawcallStats

indices¶

Information about index buffer binds.

Type:

IndexBindStats

layouts¶

Information about vertex layout binds.

Type:

LayoutBindStats

outputs¶

Information about output merger and UAV binds.

Type:

OutputTargetStats

rasters¶

Information about rasterizer state binds.

Type:

RasterizationStats

recorded¶

True if the statistics in this structure are valid.

Type:

bool

resources¶

A list of resource bind statistics, one per each stage.

Type:

List[ResourceBindStats]

samplers¶

A list of sampler bind statistics, one per each stage.

Type:

List[SamplerBindStats]

shaders¶

A list of shader bind statistics, one per each stage.

Type:

List[ShaderChangeStats]

updates¶

Information about resource contents updates.

Type:

ResourceUpdateStats

vertices¶

Information about vertex buffer binds.

Type:

VertexBindStats

Resource Statistics¶

class renderdoc.ResourceUpdateStats¶

Contains the statistics for resource updates in a frame.

BucketType¶

The type of buckets being used. See BucketRecordType.

BucketCount¶

How many buckets there are in the arrays.

calls¶

How many function calls were made.

Type:

int

clients¶

How many of calls were mapped pointers written by the CPU.

Type:

int

servers¶

How many of calls were batched updates written in the command queue.

Type:

int

sizes¶

A bucketed list over the number of bytes in the update.

Type:

List[int]

types¶

A list with one element for each type in TextureType.

The Nth element contains the number of times a resource of that type was updated.

Type:

List[int]

class renderdoc.BucketRecordType(value)¶

The type of bucketing method for recording statistics.

Linear¶

Each bucket contains a fixed number of elements. The highest bucket also accumulates any values too high for any of the buckets.

Pow2¶

Each bucket holds twice as many elements as the previous one, with the first bucket containing just 1 (bucket index is log2(value)).

Drawcall Statistics¶

class renderdoc.DrawcallStats¶

Contains the statistics for draws in a frame.

BucketType¶

The type of buckets being used. See BucketRecordType.

BucketSize¶

How many elements each bucket contains.

BucketCount¶

How many buckets there are in the arrays.

calls¶

How many draw calls were made.

Type:

int

counts¶

A bucketed list over the number of instances in the draw.

Type:

List[int]

indirect¶

How many of calls were indirect.

Type:

int

instanced¶

How many of calls were instanced.

Type:

int

class renderdoc.DispatchStats¶

Contains the statistics for compute dispatches in a frame.

calls¶

How many dispatch calls were made.

Type:

int

indirect¶

How many of calls were indirect.

Type:

int

Shader Statistics¶

class renderdoc.ConstantBindStats¶

Contains the statistics for constant binds in a frame.

BucketType¶

The type of buckets being used. See BucketRecordType.

BucketCount¶

How many buckets there are in the arrays.

bindslots¶

A list where the Nth element contains the number of calls that bound N buffers.

Type:

List[int]

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

sizes¶

A bucketed list over the sizes of buffers bound.

Type:

List[int]

class renderdoc.SamplerBindStats¶

Contains the statistics for sampler binds in a frame.

bindslots¶

A list where the Nth element contains the number of calls that bound N samplers.

Type:

List[int]

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.ResourceBindStats¶

Contains the statistics for resource binds in a frame.

bindslots¶

A list where the Nth element contains the number of calls that bound N resources.

Type:

List[int]

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

types¶

A list with one element for each type in TextureType.

The Nth element contains the number of times a resource of that type was bound.

Type:

List[int]

class renderdoc.ShaderChangeStats¶

Contains the statistics for shader binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

redundants¶

How many calls made no change due to the existing bind being identical.

Type:

int

sets¶

How many objects were bound.

Type:

int

Fixed Function Statistics¶

class renderdoc.IndexBindStats¶

Contains the statistics for index buffer binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.VertexBindStats¶

Contains the statistics for vertex buffer binds in a frame.

bindslots¶

A list where the Nth element contains the number of calls that bound N vertex buffers.

Type:

List[int]

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.LayoutBindStats¶

Contains the statistics for vertex layout binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.BlendStats¶

Contains the statistics for blend state binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

redundants¶

How many calls made no change due to the existing bind being identical.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.DepthStencilStats¶

Contains the statistics for depth stencil state binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

redundants¶

How many calls made no change due to the existing bind being identical.

Type:

int

sets¶

How many objects were bound.

Type:

int

class renderdoc.RasterizationStats¶

Contains the statistics for rasterizer state binds in a frame.

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

rects¶

A list where the Nth element contains the number of calls that bound N scissor rects.

Type:

List[int]

redundants¶

How many calls made no change due to the existing bind being identical.

Type:

int

sets¶

How many objects were bound.

Type:

int

viewports¶

A list where the Nth element contains the number of calls that bound N viewports.

Type:

List[int]

class renderdoc.OutputTargetStats¶

Contains the statistics for output merger or UAV binds in a frame.

bindslots¶

A list where the Nth element contains the number of calls that bound N targets.

Type:

List[int]

calls¶

How many function calls were made.

Type:

int

nulls¶

How many objects were unbound.

Type:

int

sets¶

How many objects were bound.

Type:

int