2 releases

0.1.1 Jan 5, 2024
0.1.0 Jan 4, 2024

#946 in Game dev

Download history 139/week @ 2024-07-20 168/week @ 2024-07-27 233/week @ 2024-08-03 155/week @ 2024-08-10 335/week @ 2024-08-17 190/week @ 2024-08-24 291/week @ 2024-08-31 186/week @ 2024-09-07 222/week @ 2024-09-14 639/week @ 2024-09-21 522/week @ 2024-09-28 268/week @ 2024-10-05 345/week @ 2024-10-12 276/week @ 2024-10-19 318/week @ 2024-10-26 301/week @ 2024-11-02

1,263 downloads per month
Used in 8 crates (2 directly)

Apache-2.0

47KB
588 lines

spin_sleep_util crates.io Documentation

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();
}

lib.rs:

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();
}

Dependencies

~0–6.5MB
~37K SLoC