pub struct RenderDiagnostics {Show 26 fields
pub adapter: AdapterDiagnostics,
pub passes: Vec<PassTiming>,
pub textures: TexturePoolStats,
pub upload_textures: UploadTexturePoolStats,
pub readback_buffers: ReadbackBufferPoolStats,
pub uniform_buffers: UniformBufferPoolStats,
pub pipelines: PipelineCacheStats,
pub result_cache: ResultCacheStats,
pub presented_frames: u64,
pub dropped_frames: u64,
pub repeated_frames: u64,
pub decoder_wait: Duration,
pub max_filter_samples: u32,
pub motion_blur_subframes: u32,
pub degradations: Vec<CapabilityDiagnostic>,
pub graph_nodes: u64,
pub graph_passes: u64,
pub graph_submissions: u64,
pub source_submissions: u64,
pub source_conversions: u64,
pub yuv_repacks: u64,
pub readback_submissions: u64,
pub frame_submissions: u64,
pub render_passes: u64,
pub copy_operations: u64,
pub copy_bytes: u64,
}Expand description
Snapshot of render performance, cache, memory, and scheduling behavior.
Fields§
§adapter: AdapterDiagnosticsReproducibility metadata.
passes: Vec<PassTiming>Latest bounded pass timing history. Empty unless pass timing is enabled.
textures: TexturePoolStatsIntermediate texture allocation/reuse counters.
upload_textures: UploadTexturePoolStatsSource-upload texture allocation/reuse and live-byte counters.
readback_buffers: ReadbackBufferPoolStatsMapped readback-buffer allocation/reuse and live-byte counters.
uniform_buffers: UniformBufferPoolStatsSubmission uniform-arena allocation/reuse and live-byte counters.
pipelines: PipelineCacheStatsRuntime and built-in pipeline cache counts.
result_cache: ResultCacheStatsKept graph results: budget, occupancy, hits, misses, invalidations.
presented_frames: u64Frames presented by the caller.
dropped_frames: u64Requests that could not render a new frame.
repeated_frames: u64Presentations that held a previous frame.
decoder_wait: DurationAccumulated host decoder wait time.
max_filter_samples: u32Active maximum filter samples: what the passes take, which may be
less than the caller asked for (see Self::degradations).
motion_blur_subframes: u32Active temporal subframe count.
degradations: Vec<CapabilityDiagnostic>Fallbacks applied to what the caller asked for: a filter sample budget reduced to what the passes take.
graph_nodes: u64Non-source nodes encoded by completed graph executions.
graph_passes: u64Actual render passes encoded by completed graph executions.
graph_submissions: u64Queue submissions issued by completed graph executions.
source_submissions: u64Queue submissions issued by source presentation/conversion.
source_conversions: u64Source passes that converted a decoded picture into the working color space: YUV to RGB, or an RGBA presentation.
yuv_repacks: u64Decoded 4:2:0 pictures copied plane for plane into NV12 targets, with no color conversion and no graph.
readback_submissions: u64Queue submissions issued by output packing and readback.
frame_submissions: u64Queue submissions combining graph execution with output readback.
render_passes: u64Actual render passes across graph, source, and readback work.
copy_operations: u64GPU copy commands encoded for output readback.
copy_bytes: u64Logical texel bytes copied by output readback commands.
Trait Implementations§
Source§impl Clone for RenderDiagnostics
impl Clone for RenderDiagnostics
Source§impl Debug for RenderDiagnostics
impl Debug for RenderDiagnostics
Source§impl PartialEq for RenderDiagnostics
impl PartialEq for RenderDiagnostics
impl StructuralPartialEq for RenderDiagnostics
Auto Trait Implementations§
impl Freeze for RenderDiagnostics
impl RefUnwindSafe for RenderDiagnostics
impl Send for RenderDiagnostics
impl Sync for RenderDiagnostics
impl Unpin for RenderDiagnostics
impl UnsafeUnpin for RenderDiagnostics
impl UnwindSafe for RenderDiagnostics
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more