# Frame Statistics

Contents

- Frame Statistics

  - Resource Statistics

  - Drawcall Statistics

  - Shader Statistics

  - Fixed Function Statistics

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.

  `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.

  `clients`

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

  `servers`

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

  `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.

  `counts`

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

    Type

      List[int]

  `indirect`

    How many of `calls` were indirect.

  `instanced`

    How many of `calls` were instanced.

class `renderdoc.``DispatchStats`

  Contains the statistics for compute dispatches in a frame.

  `calls`

    How many dispatch calls were made.

  `indirect`

    How many of `calls` were indirect.

## 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.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

  `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.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

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.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

  `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.

  `nulls`

    How many objects were unbound.

  `redundants`

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

  `sets`

    How many objects were bound.

## Fixed Function Statistics

class `renderdoc.``IndexBindStats`

  Contains the statistics for index buffer binds in a frame.

  `calls`

    How many function calls were made.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

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.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

class `renderdoc.``LayoutBindStats`

  Contains the statistics for vertex layout binds in a frame.

  `calls`

    How many function calls were made.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.

class `renderdoc.``BlendStats`

  Contains the statistics for blend state binds in a frame.

  `calls`

    How many function calls were made.

  `nulls`

    How many objects were unbound.

  `redundants`

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

  `sets`

    How many objects were bound.

class `renderdoc.``DepthStencilStats`

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

  `calls`

    How many function calls were made.

  `nulls`

    How many objects were unbound.

  `redundants`

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

  `sets`

    How many objects were bound.

class `renderdoc.``RasterizationStats`

  Contains the statistics for rasterizer state binds in a frame.

  `calls`

    How many function calls were made.

  `nulls`

    How many objects were unbound.

  `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.

  `sets`

    How many objects were bound.

  `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.

  `nulls`

    How many objects were unbound.

  `sets`

    How many objects were bound.