mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Option to override maximum refresh rate #3261
This commit is contained in:
@@ -7,6 +7,13 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
public const int MAX_REFRESH = 1000;
|
public const int MAX_REFRESH = 1000;
|
||||||
public static int MIN_RATE = AppConfig.Get("min_rate", 60);
|
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)
|
public void AutoScreen(bool force = false)
|
||||||
{
|
{
|
||||||
@@ -29,7 +36,7 @@ namespace GHelper.Display
|
|||||||
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
|
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
|
||||||
if (refreshRate < 0) return;
|
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();
|
InitScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,7 +50,7 @@ namespace GHelper.Display
|
|||||||
|
|
||||||
if (frequency >= MAX_REFRESH)
|
if (frequency >= MAX_REFRESH)
|
||||||
{
|
{
|
||||||
frequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
frequency = GetMaxRate(laptopScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frequency > 0 && frequency != refreshRate)
|
if (frequency > 0 && frequency != refreshRate)
|
||||||
@@ -151,7 +158,7 @@ namespace GHelper.Display
|
|||||||
{
|
{
|
||||||
var laptopScreen = ScreenNative.FindLaptopScreen();
|
var laptopScreen = ScreenNative.FindLaptopScreen();
|
||||||
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
int frequency = ScreenNative.GetRefreshRate(laptopScreen);
|
||||||
int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
|
int maxFrequency = GetMaxRate(laptopScreen);
|
||||||
|
|
||||||
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
|
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
|
||||||
else maxFrequency = AppConfig.Get("max_frequency");
|
else maxFrequency = AppConfig.Get("max_frequency");
|
||||||
|
|||||||
Reference in New Issue
Block a user