From 68eb3db648dc5c842190884e7341382c28bddb98 Mon Sep 17 00:00:00 2001 From: rustbasic <127506429+rustbasic@users.noreply.github.com> Date: Tue, 6 Feb 2024 21:24:49 +0900 Subject: [PATCH] Fix high CPU usage on Windows when app is minimized (#3985) patch #3982 --- crates/eframe/src/native/run.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/crates/eframe/src/native/run.rs b/crates/eframe/src/native/run.rs index 28aad042..896d640d 100644 --- a/crates/eframe/src/native/run.rs +++ b/crates/eframe/src/native/run.rs @@ -192,10 +192,13 @@ fn run_and_return( if let Some(window) = winit_app.window(*window_id) { log::trace!("request_redraw for {window_id:?}"); - if !window.is_minimized().unwrap_or(false) { + let is_minimized = window.is_minimized().unwrap_or(false); + if is_minimized { + false + } else { window.request_redraw(); + true } - true } else { log::trace!("No window found for {window_id:?}"); false @@ -347,10 +350,13 @@ fn run_and_exit( if let Some(window) = winit_app.window(*window_id) { log::trace!("request_redraw for {window_id:?}"); - if !window.is_minimized().unwrap_or(false) { + let is_minimized = window.is_minimized().unwrap_or(false); + if is_minimized { + false + } else { window.request_redraw(); + true } - true } else { log::trace!("No window found for {window_id:?}"); false