pub struct FrameStatsSnapshot {
pub frames_total: u64,
pub window_frames: u64,
pub latest: FrameTimings,
pub resolve: TimingStats,
pub paint: TimingStats,
pub renderer: TimingStats,
pub frame_total: TimingStats,
pub interval: TimingStats,
pub active_fps: f64,
pub missed_refreshes: u64,
pub display_refresh_hz: Option<f64>,
}Expand description
Aggregate view of the recently presented frames.
Fields§
§frames_total: u64Frames presented since process start.
window_frames: u64Frames the aggregate statistics below were computed over.
latest: FrameTimingsThe most recently presented frame.
resolve: TimingStats§paint: TimingStats§renderer: TimingStats§frame_total: TimingStatsresolve + paint + renderer per frame.
interval: TimingStatsGap between the starts of consecutive frames, with idle gaps excluded.
active_fps: f64Frames per second across the active intervals only. Zero when the window holds fewer than two frames, or when every gap in it was an idle gap.
missed_refreshes: u64Active intervals longer than 1.5 display refresh periods. Always zero when
display_refresh_hz is unknown, because there is nothing to compare to.
display_refresh_hz: Option<f64>Refresh rate reported by the monitor the window was created on, when the platform exposes it.
Trait Implementations§
Source§impl Clone for FrameStatsSnapshot
impl Clone for FrameStatsSnapshot
Source§fn clone(&self) -> FrameStatsSnapshot
fn clone(&self) -> FrameStatsSnapshot
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 moreSource§impl Debug for FrameStatsSnapshot
impl Debug for FrameStatsSnapshot
Source§impl PartialEq for FrameStatsSnapshot
impl PartialEq for FrameStatsSnapshot
impl StructuralPartialEq for FrameStatsSnapshot
Auto Trait Implementations§
impl Freeze for FrameStatsSnapshot
impl RefUnwindSafe for FrameStatsSnapshot
impl Send for FrameStatsSnapshot
impl Sync for FrameStatsSnapshot
impl Unpin for FrameStatsSnapshot
impl UnsafeUnpin for FrameStatsSnapshot
impl UnwindSafe for FrameStatsSnapshot
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
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert