pub struct RenderStatsSnapshot {Show 69 fields
pub submits: u32,
pub encoder_count: u32,
pub submit_count: u32,
pub pass_count: u32,
pub pass_pixels: u64,
pub copy_count: u32,
pub copy_pixels: u64,
pub offscreen_acquires: u32,
pub offscreen_news: u32,
pub offscreen_total_bytes: u64,
pub transient_texture_bytes: u64,
pub retained_texture_bytes: u64,
pub upload_bytes: u64,
pub upload_writes: u32,
pub isolated_layer_renders: u32,
pub isolated_layer_pixels: u64,
pub layer_cache_hits: u32,
pub capture_fixup_passes: u32,
pub layer_cache_misses: u32,
pub layer_cache_hit_pixels: u64,
pub layer_cache_miss_pixels: u64,
pub layer_cache_hits_by_kind: [u32; 5],
pub layer_cache_misses_by_kind: [u32; 5],
pub layer_cache_miss_pixels_by_kind: [u64; 5],
pub shadow_shape_cache_hits: u32,
pub shadow_shape_cache_misses: u32,
pub shadow_shape_cache_hit_pixels: u64,
pub shadow_shape_cache_miss_pixels: u64,
pub shadow_fully_occluded_composites: u32,
pub shadow_text_blur_fallbacks: u32,
pub blur_passes: u32,
pub stages: u32,
pub backdrop_admissions: u32,
pub prefix_admissions: u32,
pub substrates: u32,
pub composite_passes: u32,
pub effect_applies: u32,
pub shader_pixels: u64,
pub glass_rasterized_pixels: u64,
pub blur_pixels: u64,
pub shape_fill_pixels: u64,
pub shape_fill_pixels_by_class: [u64; 6],
pub shape_vertices: u64,
pub shape_passes: u32,
pub shape_pipeline_fallback_draws: u32,
pub shape_specialized_draws: u32,
pub pipelines_created: u64,
pub shader_pipeline_fallback_draws: u32,
pub shader_specialized_draws: u32,
pub image_passes: u32,
pub text_passes: u32,
pub draw_calls: u32,
pub text_image_cache_hits: u32,
pub text_image_cache_misses: u32,
pub text_image_cache_hit_pixels: u64,
pub text_image_cache_miss_pixels: u64,
pub text_image_raster_bytes: u64,
pub text_glyph_atlas_hits: u32,
pub text_glyph_atlas_misses: u32,
pub text_glyph_atlas_miss_pixels: u64,
pub offscreen_pool_size: u32,
pub offscreen_pool_bytes: u64,
pub text_pool_size: u32,
pub layer_cache_size: u32,
pub layer_cache_bytes: u64,
pub image_cache_size: u32,
pub text_cache_size: u32,
pub top_isolated_layers: [Option<IsolatedLayerStat>; 8],
pub top_isolated_layer_count: usize,
}Fields§
§submits: u32§encoder_count: u32§submit_count: u32§pass_count: u32§pass_pixels: u64Sum of every render pass’s first color target area: the tile traffic a tiling GPU pays whatever the passes draw.
copy_count: u32Texture regions copied outside any pass, and their texels.
copy_pixels: u64§offscreen_acquires: u32§offscreen_news: u32§offscreen_total_bytes: u64§transient_texture_bytes: u64§retained_texture_bytes: u64§upload_bytes: u64§upload_writes: u32Buffer writes the frame staged: uploads that reach the GPU as one write each, however many draws they carry.
isolated_layer_renders: u32§isolated_layer_pixels: u64§layer_cache_hits: u32§capture_fixup_passes: u32Passes that drew fix-ups over copied capture regions.
layer_cache_misses: u32§layer_cache_hit_pixels: u64§layer_cache_miss_pixels: u64§layer_cache_hits_by_kind: [u32; 5]Hits per key kind, indexed by LayerRasterCacheKey::kind_slot.
layer_cache_misses_by_kind: [u32; 5]Stores per key kind, indexed by LayerRasterCacheKey::kind_slot.
layer_cache_miss_pixels_by_kind: [u64; 5]Stored pixels per key kind, indexed by LayerRasterCacheKey::kind_slot.
shadow_shape_cache_hits: u32§shadow_shape_cache_misses: u32§shadow_shape_cache_hit_pixels: u64§shadow_shape_cache_miss_pixels: u64§shadow_fully_occluded_composites: u32Converted shadows whose caster occluded every visible coverage pixel this frame: they composite nothing and their draw item is dropped.
shadow_text_blur_fallbacks: u32§blur_passes: u32§stages: u32Backdrop stages resolved: every stage flushes the page and captures once, so the layer pass count is one more than this.
backdrop_admissions: u32Backdrops whose stage texture the layer cache pinned this frame, so later frames replay their composites from it.
prefix_admissions: u32Opaque page prefixes copied into the layer cache this frame.
substrates: u32Captures averaged into a quarter-size substrate for a shader’s wide taps.
composite_passes: u32Passes that draw at least one resolved composite: a final pass holding twelve glass tails counts once, a composite resolved into its own texture counts its own pass.
effect_applies: u32§shader_pixels: u64Pixels shaded by runtime shader composites: what every glass surface costs a tiling GPU per frame, each capture that re-shades one included.
glass_rasterized_pixels: u64§blur_pixels: u64Pixels the blur passes write: every downsample, horizontal and vertical pass of a backdrop’s blur and of its substrates, within the scissor the pass was given.
shape_fill_pixels: u64Pixels the shape draws rasterize: a band drawn as a mesh counts its mesh, everything else its quad. Fill rate is what a scene of rings costs a tiling GPU, however few draws it takes.
shape_fill_pixels_by_class: [u64; 6]shape_fill_pixels split by shape kind and brush, in the order of
ShapeFill::LABELS: which records a fill-bound frame pays for.
shape_vertices: u64Vertices the shape draws run through the vertex stage: six per quad, six per band segment. A tiling GPU stores every vertex’s varyings before it shades a pixel, so this bounds a frame as fill does.
shape_passes: u32§shape_pipeline_fallback_draws: u32Shape draws using a general pipeline while their specialization compiles.
shape_specialized_draws: u32Shape draws using a completed specialized pipeline.
pipelines_created: u64Pipelines this process has built, counted since it started rather than over the frame. A count that grows while a person is interacting names a backend shader compile they waited through.
shader_pipeline_fallback_draws: u32Runtime shader draws using a shader’s general pipeline while the specialization they asked for compiles in the background.
shader_specialized_draws: u32Runtime shader draws using a completed specialized pipeline.
image_passes: u32§text_passes: u32§draw_calls: u32Shape, image, glyph and composite draws recorded this frame. The
*_passes counters above count batches or passes, so a single image
batch reports image_passes=1 however many images it draws; this
counts what the driver actually sees. Blur and effect quads are not
included: they are one draw each and already counted by blur_passes
and effect_applies.
text_image_cache_hits: u32§text_image_cache_misses: u32§text_image_cache_hit_pixels: u64§text_image_cache_miss_pixels: u64§text_image_raster_bytes: u64§text_glyph_atlas_hits: u32§text_glyph_atlas_misses: u32§text_glyph_atlas_miss_pixels: u64§offscreen_pool_size: u32§offscreen_pool_bytes: u64§text_pool_size: u32§layer_cache_size: u32§layer_cache_bytes: u64§image_cache_size: u32§text_cache_size: u32§top_isolated_layers: [Option<IsolatedLayerStat>; 8]§top_isolated_layer_count: usize