Skip to main content

RenderStats

Struct RenderStats 

Source
pub struct RenderStats {
Show 27 fields pub ops: u32, pub draws: u32, pub clips: u32, pub culled: u32, pub layers_rendered: u32, pub layers_elided: u32, pub snapshots: u32, pub backdrops: u32, pub shared_backdrops: u32, pub filter_passes: u32, pub text_tiers: [u32; 3], pub glyph_rasters: u32, pub raster_quads: u32, pub raster_fills: u32, pub atlas_gcs: u32, pub held_rasters: u32, pub opaque_reordered: u32, pub gpu_ms: f32, pub blocks_created: u32, pub cpu_ms: f32, pub draw_calls: u32, pub render_passes: u32, pub pipeline_switches: u32, pub vertex_bytes: u64, pub uniform_bytes: u64, pub plan_ms: f32, pub encode_ms: f32,
}
Expand description

RenderStats reports the work performed by one render operation.

Fields§

§ops: u32

ops is the number of replayed operations, including nested lists.

§draws: u32

draws is the number of logical draws remaining after culling.

§clips: u32

clips is the number of encoded clip operations.

§culled: u32

culled is the number of draws skipped because their bounds miss the target.

§layers_rendered: u32

layers_rendered is the number of offscreen layers actually rendered.

§layers_elided: u32

layers_elided is the number of save layers applied without an offscreen target.

§snapshots: u32

snapshots is the number of target-region copies used by destination reads.

§backdrops: u32

backdrops is the number of backdrop regions that ran a blur chain.

§shared_backdrops: u32

shared_backdrops is the number of backdrop regions that reused a shared blur.

§filter_passes: u32

filter_passes is the number of encoded image-filter passes.

§text_tiers: [u32; 3]

text_tiers contains glyph-run counts for [bitmap mask, SDF, outline].

§glyph_rasters: u32

glyph_rasters is the number of glyphs rasterized after cache misses.

§raster_quads: u32

raster_quads is the number of cached display lists drawn as image quads.

§raster_fills: u32

raster_fills is the number of display lists rendered into cache textures.

§atlas_gcs: u32

atlas_gcs is the number of full glyph-atlas collections.

§held_rasters: u32

held_rasters is the number of bitmap or SDF misses served by a resident size.

§opaque_reordered: u32

opaque_reordered is the number of opaque draws moved earlier for depth culling.

§gpu_ms: f32

gpu_ms is the previous resolved frame’s GPU time in milliseconds.

It is zero until a timestamp resolves or when timestamps are unavailable.

§blocks_created: u32

blocks_created is the number of transient upload blocks allocated this frame.

§cpu_ms: f32

cpu_ms is total CPU time spent in rendering and submission.

§draw_calls: u32

draw_calls is the number of encoded GPU draw commands.

One logical draw may require several commands, while batched glyphs may share one.

§render_passes: u32

render_passes is the number of encoded render passes.

§pipeline_switches: u32

pipeline_switches is the number of encoded pipeline changes.

§vertex_bytes: u64

vertex_bytes is the number of transient vertex bytes uploaded.

§uniform_bytes: u64

uniform_bytes is the number of transient uniform bytes uploaded.

§plan_ms: f32

plan_ms is the CPU time spent replaying and planning.

§encode_ms: f32

encode_ms is the CPU time spent compiling, uploading, encoding, and submitting.

Trait Implementations§

Source§

impl Clone for RenderStats

Source§

fn clone(&self) -> RenderStats

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RenderStats

Source§

impl Debug for RenderStats

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RenderStats

Source§

fn default() -> RenderStats

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,