use bevy::{prelude::*, window::PresentMode};
use bevy_utils::{Duration, Instant};
use iyes_loopless::prelude::*;
fn main() {
let mut app = App::new();
app.add_plugins(
DefaultPlugins
.set(WindowPlugin {
window: WindowDescriptor {
present_mode: PresentMode::Fifo,
..default()
},
..default()
})
);
app.add_fixed_timestep(Duration::from_secs_f64(1.0 / 60.0), "fix");
app.add_fixed_timestep_system("fix", 0, print_timestep);
app.add_system(print_dt);
app.run();
}
fn print_timestep(
t: Res<Time>, mut last: Local<Option<Instant>>
) {
if let (Some(last), Some(this)) = (*last, t.last_update()) {
println!("ts: {:?}", this - last);
}
*last = t.last_update();
}
fn print_dt(t: Res<Time>) {
println!("dt {:?}", t.delta());
}