From 16846c8b282a55f0f1ff1ace8a4f58541d9a7b7e Mon Sep 17 00:00:00 2001 From: Kvintilyanov Aleksandr Date: Mon, 3 Mar 2025 12:29:18 +0300 Subject: [PATCH] Update FPSLimit.cs Change fps limit step to 5 --- PowerControl/Options/FPSLimit.cs | 33 +++++++++++--------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/PowerControl/Options/FPSLimit.cs b/PowerControl/Options/FPSLimit.cs index 6ec3d99..cdd6c1b 100644 --- a/PowerControl/Options/FPSLimit.cs +++ b/PowerControl/Options/FPSLimit.cs @@ -13,14 +13,13 @@ namespace PowerControl.Options ResetValue = () => { return "Off"; }, OptionsValues = delegate () { - var refreshRate = DisplayResolutionController.GetRefreshRate(); - return new string[] - { - (refreshRate / 4).ToString(), - (refreshRate / 2).ToString(), - refreshRate.ToString(), - "Off" - }; + int refreshRate = DisplayResolutionController.GetRefreshRate(); + string[] limits = new string[refreshRate/5]; + for (int i = 0; i < refreshRate/5; i++) { + limits[i] = string.Format("{0}", (i + 1) * 5); + } + + return limits; }, CurrentValue = delegate () { @@ -84,23 +83,13 @@ namespace PowerControl.Options RTSS.LoadProfile(); RTSS.GetProfileProperty("FramerateLimit", out int fpsLimit); - if (fpsLimit == 0) + if (fpsLimit <= 0) return; - // FPSLimit, RR => outcome - // 50 + 60 => 60 (div 1) - // 25 + 60 => 30 (div 2) - // 10 + 60 => 15 (div 6) - // 60 + 50 => 50 (div 0) - // 50 + 40 => 40 (div 0) - // 60 + 30 => 30 (div 0) - int div = refreshRate / fpsLimit; - if (div >= 4) - fpsLimit = refreshRate / 4; - else if (div >= 2) - fpsLimit = refreshRate / 2; - else + if (fpsLimit > refreshRate) { fpsLimit = refreshRate; + } + RTSS.SetProfileProperty("FramerateLimit", fpsLimit); RTSS.SaveProfile(); RTSS.UpdateProfiles();