From 3b9900aa2783b4dc8ff8571d0994141e27b878b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 28 Nov 2025 22:13:51 +0100 Subject: [PATCH] Reduce consecutive `RedrawRequested` handled to `3` --- winit/src/lib.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/winit/src/lib.rs b/winit/src/lib.rs index 8b161aab..92007e56 100644 --- a/winit/src/lib.rs +++ b/winit/src/lib.rs @@ -842,7 +842,7 @@ async fn run_instance

( .expect("Get user interface"); let interact_span = debug::interact(id); - let mut change_count = 0; + let mut redraw_count = 0; let state = loop { let message_count = messages.len(); @@ -854,23 +854,23 @@ async fn run_instance

( &mut messages, ); - change_count += 1; - if message_count == messages.len() && !state.has_layout_changed() { break state; } - if change_count >= 10 { + if redraw_count >= 2 { log::warn!( - "More than 10 consecutive RedrawRequested events \ + "More than 3 consecutive RedrawRequested events \ produced layout invalidation" ); break state; } + redraw_count += 1; + if !messages.is_empty() { let caches: FxHashMap<_, _> = ManuallyDrop::into_inner(user_interfaces)