Struct FpsCounter

Source
pub struct FpsCounter { /* private fields */ }
Expand description

An accurate FPS counter, that remembers samples frame times in order to calculate the current FPS as accurratly as possible.

The frame sampler has a limited size, when it grows to big, the oldest frames are dropped. Frames that become outdated (frames that have been timed more than 5 seconds ago) are also dropped.

To count frames, the tick() method must be called repeatedly, to sample a frame.

Implementations§

Source§

impl FpsCounter

Source

pub fn new() -> FpsCounter

Create a new FPS counter.

Source

pub fn tick(&mut self)

Tick/count a new frame, and report the FPS.

Source

pub fn calculate_fps(&mut self) -> Option<f64>

Calculate the FPS based on the known frame times.

If we are unable to calculate the FPS, None is returned.

Source

pub fn report_periodically(&mut self)

Report the FPS to the console periodically. By default this happens each second.

If this method is invoked but the FPS has been reported too recently, nothing happens.

Source

pub fn report(&mut self)

Report the current FPS to the console.

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<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, 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.