Crate spin_sleep_util

Source
Expand description

Utils using spin_sleep.

§Example: Frame limiter

Interval may be used to limit a loop to a max fps by calling Interval::tick at the start or end of each loop.

// Create an interval to tick 144 times each second
let mut interval = spin_sleep_util::interval(Duration::from_secs(1) / 144);
loop {
    compute_something(); // do loop work

    // tick: sleep using a SpinSleeper until next tick.
    // The default `Skip` missed ticke behaviour is appropriate for a frame limiter
    interval.tick();
}

Structs§

Interval
Interval returned by interval and interval_at.
RateReporter
Helper for regularly reporting a rate per second, like fps.

Enums§

MissedTickBehavior
Defines the behavior of an Interval when it misses a tick.

Functions§

interval
Creates new Interval that spin-sleeps with interval of period. The first tick returns immediately. The default MissedTickBehavior is Skip.
interval_at
Creates new Interval that spin-sleeps with interval of period with the first tick returning at start. The default MissedTickBehavior is Skip.