diff --git a/app/Display/ScreenControl.cs b/app/Display/ScreenControl.cs index 29fa2f31..16e934e1 100644 --- a/app/Display/ScreenControl.cs +++ b/app/Display/ScreenControl.cs @@ -7,6 +7,13 @@ namespace GHelper.Display public const int MAX_REFRESH = 1000; public static int MIN_RATE = AppConfig.Get("min_rate", 60); + public static int MAX_RATE = AppConfig.Get("max_rate"); + + public static int GetMaxRate(string? laptopScreen) + { + if (MAX_RATE > 0) return MAX_RATE; + else return ScreenNative.GetMaxRefreshRate(laptopScreen); + } public void AutoScreen(bool force = false) { @@ -29,7 +36,7 @@ namespace GHelper.Display var refreshRate = ScreenNative.GetRefreshRate(laptopScreen); if (refreshRate < 0) return; - ScreenNative.SetRefreshRate(laptopScreen, refreshRate > MIN_RATE ? MIN_RATE : ScreenNative.GetMaxRefreshRate(laptopScreen)); + ScreenNative.SetRefreshRate(laptopScreen, refreshRate > MIN_RATE ? MIN_RATE : GetMaxRate(laptopScreen)); InitScreen(); } @@ -43,7 +50,7 @@ namespace GHelper.Display if (frequency >= MAX_REFRESH) { - frequency = ScreenNative.GetMaxRefreshRate(laptopScreen); + frequency = GetMaxRate(laptopScreen); } if (frequency > 0 && frequency != refreshRate) @@ -151,7 +158,7 @@ namespace GHelper.Display { var laptopScreen = ScreenNative.FindLaptopScreen(); int frequency = ScreenNative.GetRefreshRate(laptopScreen); - int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen); + int maxFrequency = GetMaxRate(laptopScreen); if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency); else maxFrequency = AppConfig.Get("max_frequency");