From 35b7527db61374a04756c8239f970bf8fc453f7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Na=C5=9Bciszewski?= Date: Sat, 7 Oct 2017 15:44:26 +0200 Subject: [PATCH] Improved headless Servo performance Now the main thread doesn't waste 100% CPU --- ports/glutin/window.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index ff486efbd43..ad806f3620d 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -39,6 +39,8 @@ use std::mem; use std::os::raw::c_void; use std::ptr; use std::rc::Rc; +use std::thread; +use std::time; use style_traits::DevicePixel; use style_traits::cursor::Cursor; #[cfg(target_os = "windows")] @@ -695,6 +697,11 @@ impl Window { } events.extend(mem::replace(&mut *self.event_queue.borrow_mut(), Vec::new()).into_iter()); + + if opts::get().headless && events.is_empty() { + thread::sleep(time::Duration::from_millis(5)); + } + events }