From 3d0e4f13fe241c69b520a1306b86b5bd018813ad Mon Sep 17 00:00:00 2001 From: Ysbrand van Eijck Date: Sun, 9 Aug 2020 22:50:37 +0200 Subject: [PATCH] Speeds up some Hud events when there is no change in value Especially the three drop-downs related to graphics caused a little bit of lag when they were set, even if their newly set value was the same as the currently set one. This commit adds a check that breaks asap when there is no change necessary. --- voxygen/src/session.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/voxygen/src/session.rs b/voxygen/src/session.rs index 0decee01f3..8869fd47f5 100644 --- a/voxygen/src/session.rs +++ b/voxygen/src/session.rs @@ -920,6 +920,11 @@ impl PlayState for SessionState { global_state.settings.save_to_file_warn(); }, HudEvent::ChangeAaMode(new_aa_mode) => { + // No need to change when new == current. + if new_aa_mode == global_state.settings.graphics.aa_mode { + break + } + // Do this first so if it crashes the setting isn't saved :) global_state .window @@ -930,6 +935,11 @@ impl PlayState for SessionState { global_state.settings.save_to_file_warn(); }, HudEvent::ChangeCloudMode(new_cloud_mode) => { + // No need to change when new == current. + if new_cloud_mode == global_state.settings.graphics.cloud_mode { + break + } + // Do this first so if it crashes the setting isn't saved :) global_state .window @@ -940,6 +950,11 @@ impl PlayState for SessionState { global_state.settings.save_to_file_warn(); }, HudEvent::ChangeFluidMode(new_fluid_mode) => { + // No need to change when new == current. + if new_fluid_mode == global_state.settings.graphics.fluid_mode { + break + } + // Do this first so if it crashes the setting isn't saved :) global_state .window