diff --git a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs index 180cb88707..7b130311ed 100644 --- a/osu.Game/Graphics/UserInterface/OsuSliderBar.cs +++ b/osu.Game/Graphics/UserInterface/OsuSliderBar.cs @@ -12,10 +12,11 @@ using osu.Framework.Input; namespace osu.Game.Graphics.UserInterface { - public class OsuSliderBar : SliderBar where U : struct + public class OsuSliderBar : SliderBar where T : struct { private SampleChannel sample; private double lastSampleTime; + private T lastSampleValue; private readonly Nub nub; private readonly Box leftBox; @@ -84,6 +85,12 @@ namespace osu.Game.Graphics.UserInterface { if (Clock == null || Clock.CurrentTime - lastSampleTime <= 50) return; + + if (Current.Value.Equals(lastSampleValue)) + return; + + lastSampleValue = Current.Value; + lastSampleTime = Clock.CurrentTime; sample.Frequency.Value = 1 + NormalizedValue * 0.2f;