INNER CODE UNIT · Rust

expected_duration

lemunozm/ruscii · src/app.rs:115

        let expected_duration = time::Duration::from_nanos(1_000_000_000 / self.config.fps as u64);
        self.state.run();

        let result = panic::catch_unwind(panic::AssertUnwindSafe(|| {
            self.window.open();
            while self.state.is_running() {
                let now = time::Instant::now();
                self.window.clear();

                self.state.keyboard.consume_key_events();
                frame_action(&mut self.state, &mut self.window);

                self.window.draw();

                self.state.dt = now.elapsed();
                self.state.step += 1;
                if let Some(time) = expected_duration.checked_sub(self.state.dt) {
                    thread::sleep(time);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…