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