From b937dece9d15bc06a131d13ba4dc454b770c2e6f Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Sun, 11 Jan 2026 15:44:37 +0100 Subject: [PATCH] =?UTF-8?q?Optimisation=20des=20d=C3=A9lais=20de=20rafra?= =?UTF-8?q?=C3=AEchissement=20et=20am=C3=A9lioration=20de=20la=20r=C3=A9ac?= =?UTF-8?q?tivit=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Réduction du délai de rafraîchissement des conteneurs à 2 secondes et ajustement du polling pour une meilleure réactivité de l'interface utilisateur. - Modification du délai de cooldown de 5 secondes à 2 secondes dans MediaBrowser.vue - Réduction du délai de polling de 60 secondes à 10 secondes pour la découverte des appareils dans control_point.rs - Modification du polling de volume et de mute de 3 secondes à 1 seconde (tous les 2 ticks à 500ms) dans control_point.rs - Réduction du délai de polling de position de 1 seconde à 500ms dans control_point.rs --- .../components/pmocontrol/MediaBrowser.vue | 454 +++++++++--------- pmocontrol/src/control_point.rs | 14 +- 2 files changed, 239 insertions(+), 229 deletions(-) diff --git a/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue b/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue index 10af54c8..5a8dfd85 100644 --- a/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue +++ b/pmoapp/webapp/src/components/pmocontrol/MediaBrowser.vue @@ -1,62 +1,58 @@ diff --git a/pmocontrol/src/control_point.rs b/pmocontrol/src/control_point.rs index 4b2d89e7..560a6628 100644 --- a/pmocontrol/src/control_point.rs +++ b/pmocontrol/src/control_point.rs @@ -112,8 +112,8 @@ impl ControlPoint { ]; loop { - // Attendre 60 secondes avant le prochain cycle - thread::sleep(Duration::from_secs(60)); + // Attendre 10 secondes avant le prochain cycle pour découverte rapide + thread::sleep(Duration::from_secs(10)); debug!("Sending periodic M-SEARCH for device discovery"); @@ -303,9 +303,9 @@ impl ControlPoint { new_snapshot.state = Some(logical_state); } - // Poll volume and mute less frequently (every 3 seconds) - // to reduce SOAP overhead without impacting UI responsiveness - if tick % 3 == 0 { + // Poll volume and mute every second (every 2 ticks at 500ms) + // for responsive volume control feedback + if tick % 2 == 0 { if let Ok(volume) = renderer.volume() { if prev_snapshot.last_volume != Some(volume) { polling_cp.emit_renderer_event(RendererEvent::VolumeChanged { @@ -334,8 +334,8 @@ impl ControlPoint { } tick = tick.wrapping_add(1); - // Keep 1 second polling for smooth position updates - thread::sleep(Duration::from_secs(1)); + // 500ms polling for smoother position updates and progress bar + thread::sleep(Duration::from_millis(500)); } });