From f6dd2a34addc5f4539bcf916f48d42fff004336a Mon Sep 17 00:00:00 2001 From: Thomas Forgione Date: Fri, 15 Jun 2018 16:21:04 +0200 Subject: [PATCH] Sleep to not have 100% CPU usage --- src/programs/viewer.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/programs/viewer.rs b/src/programs/viewer.rs index 4c4fa48..76add46 100644 --- a/src/programs/viewer.rs +++ b/src/programs/viewer.rs @@ -6,6 +6,7 @@ extern crate model_converter; use std::process::exit; use std::time::{Instant, Duration}; +use std::thread::sleep; use clap::{App, Arg}; @@ -133,6 +134,9 @@ fn main() { renderer.show(); use model_converter::controls::Controls; + + let mut before = Instant::now(); + while !closed { events_loop.poll_events(|ev| { @@ -160,6 +164,12 @@ fn main() { controls.update(&mut camera, &renderer); renderer.render(&scene, &camera); + let elapsed = as_millis(Instant::now().duration_since(before)); + if elapsed < 20 { + sleep(Duration::from_millis(20 - elapsed)); + } + + before = Instant::now(); } }