pub struct FrameTiming { /* private fields */ }Expand description
The measured per-run timing summary: never gated, only recorded.
Percentiles are deliberately absent — p50/p99 need a reservoir or a histogram, which is a real design. Count, minimum, maximum and sum are enough for a first baseline; the growth trigger is the first frame budget that needs negotiating.
Implementations§
Source§impl FrameTiming
impl FrameTiming
pub const fn new() -> Self
Sourcepub fn record(&mut self, cpu_frame: Nanos, drawn: bool)
pub fn record(&mut self, cpu_frame: Nanos, drawn: bool)
Record one frame’s measured CPU cost, and whether it presented.
Presented-versus-skipped lives on the measured side deliberately: its purpose is measurement integrity, not determinism. A dormant window presenting nothing would otherwise “run at 40,000 fps” and silently inflate a frame-time baseline.
pub const fn json(&self) -> FrameTimingJson<'_>
Trait Implementations§
Source§impl Clone for FrameTiming
impl Clone for FrameTiming
Source§fn clone(&self) -> FrameTiming
fn clone(&self) -> FrameTiming
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for FrameTiming
Source§impl Debug for FrameTiming
impl Debug for FrameTiming
Source§impl Default for FrameTiming
impl Default for FrameTiming
impl Eq for FrameTiming
Source§impl PartialEq for FrameTiming
impl PartialEq for FrameTiming
impl StructuralPartialEq for FrameTiming
Auto Trait Implementations§
impl Freeze for FrameTiming
impl RefUnwindSafe for FrameTiming
impl Send for FrameTiming
impl Sync for FrameTiming
impl Unpin for FrameTiming
impl UnsafeUnpin for FrameTiming
impl UnwindSafe for FrameTiming
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
Mutably borrows from an owned value. Read more