pub struct FrameSummary {Show 13 fields
pub frame_count: usize,
pub total_p50: Duration,
pub total_p95: Duration,
pub total_p99: Duration,
pub rebuild_p95: Duration,
pub layout_p95: Duration,
pub paint_p95: Duration,
pub encode_p95: Duration,
pub acquire_p95: Duration,
pub submit_p95: Duration,
pub over_60hz_budget: u64,
pub over_120hz_budget: u64,
pub skipped_frames: u64,
}Expand description
A rolling summary over FrameStats’s current ring-buffer window plus
the lifetime running counters — the shape FrameStats::emit_log’s log
line reports and tests assert against.
Fields§
§frame_count: usizeFrames currently held in the ring buffer (<= RING_CAPACITY), i.e.
how many samples the percentiles below are computed over.
total_p50: Duration§total_p95: Duration§total_p99: Duration§rebuild_p95: Duration§layout_p95: Duration§paint_p95: Duration§encode_p95: Durationp95 of the FramePasses::encode span (GPU/CPU encode, no vsync wait).
acquire_p95: Durationp95 of the FramePasses::acquire span (swapchain-acquire/vsync wait).
submit_p95: Durationp95 of the FramePasses::submit span (blit + queue-submit + present).
over_60hz_budget: u64Lifetime count of frames whose total exceeded BUDGET_60HZ
(16.6ms) — a running total, not windowed to the ring buffer.
over_120hz_budget: u64Lifetime count of frames whose total exceeded BUDGET_120HZ
(8.3ms) — a running total, not windowed to the ring buffer.
skipped_frames: u64Lifetime count of frames recorded with FramePasses::skipped == true
— a running total, not windowed to the ring buffer.
Trait Implementations§
Source§impl Clone for FrameSummary
impl Clone for FrameSummary
impl Copy for FrameSummary
Source§impl Debug for FrameSummary
impl Debug for FrameSummary
impl Eq for FrameSummary
Source§impl PartialEq for FrameSummary
impl PartialEq for FrameSummary
impl StructuralPartialEq for FrameSummary
Auto Trait Implementations§
impl Freeze for FrameSummary
impl RefUnwindSafe for FrameSummary
impl Send for FrameSummary
impl Sync for FrameSummary
impl Unpin for FrameSummary
impl UnsafeUnpin for FrameSummary
impl UnwindSafe for FrameSummary
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.