From a9e4d91f9adca85cc779cb33abfb7f4c9e5a1381 Mon Sep 17 00:00:00 2001 From: Thomas Colliers Date: Sat, 16 Aug 2025 18:13:50 +0200 Subject: [PATCH] fix: don't lower framerate when window is out of focus --- src/main.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index a115a89..0490653 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,7 +27,7 @@ use bevy::render::settings::{Backends, RenderCreation, WgpuSettings}; use bevy::render::{RenderDebugFlags, RenderPlugin}; use bevy::scene::ScenePlugin; use bevy::window::{CompositeAlphaMode, PresentMode}; -use bevy::winit::{WakeUp, WinitPlugin}; +use bevy::winit::{WakeUp, WinitPlugin, WinitSettings, UpdateMode}; use bevy_dmabuf::import::DmabufImportPlugin; use bevy_mod_openxr::action_set_attaching::OxrActionAttachingPlugin; use bevy_mod_openxr::action_set_syncing::OxrActionSyncingPlugin; @@ -315,10 +315,10 @@ fn bevy_loop( .async_compute .on_thread_spawn = Some(enter_runtime_context.clone()); plugins = plugins.set(task_pool_plugin); - if args.flatscreen + let flatscreenmode = args.flatscreen || std::env::var_os("DISPLAY").is_some_and(|s| !s.is_empty()) || std::env::var_os("WAYLAND_DISPLAY").is_some_and(|s| !s.is_empty()) - { + if flatscreenmode { let mut plugin = WinitPlugin::::default(); plugin.run_on_any_thread = true; plugins = plugins @@ -378,6 +378,14 @@ fn bevy_loop( }), ); + if flatscreenmode { + app.insert_resource(WinitSettings { + focused_mode: UpdateMode::Continuous, + unfocused_mode: UpdateMode::Continuous, + ..Default::default() + }); + } + app.add_plugins(bevy_sk::hand::HandPlugin); // app.add_plugins(HandGizmosPlugin); app.world_mut().resource_mut::().brightness = 1000.0;