PowerControl: Improve handling of ? settings

This commit is contained in:
Kamil Trzciński 2023-01-12 23:01:01 +01:00
parent 02d68af216
commit d1546d1dc8
4 changed files with 18 additions and 2 deletions

View file

@ -105,7 +105,15 @@ namespace PowerControl.Menu
if (ApplyValue != null && SelectedOption != null)
{
ActiveOption = ApplyValue(SelectedOption);
try
{
ActiveOption = ApplyValue(SelectedOption);
}
catch (Exception e)
{
CommonHelpers.Log.TraceException("FinalizeSet", Name, e);
Update();
}
if (AfterApply != null && runAfterApply)
AfterApply();

View file

@ -32,6 +32,7 @@ namespace PowerControl.Options
switch (selected.ToString())
{
case "?":
case "Default":
sd.MinCPUClock = 1400;
sd.MaxCPUClock = 3500;

View file

@ -23,6 +23,9 @@ namespace PowerControl.Options
"Leave the game if it uses anti-cheat protection."))
return null;
if (selected == "?")
selected = "Default";
return CommonHelpers.Instance.WithGlobalMutex<string>(200, () =>
{
using (var sd = VangoghGPU.Open())
@ -30,7 +33,7 @@ namespace PowerControl.Options
if (sd is null)
return null;
if (selected == "Default")
if (selected == "Default" || selected == "?")
{
sd.HardMinGfxClock = 200;
return selected;

View file

@ -23,6 +23,10 @@ namespace PowerControl.Options
"Leave the game if it uses anti-cheat protection."))
return null;
// If undefined, select max
if (selected == "?")
selected = "15W";
uint mW = uint.Parse(selected.Replace("W", "")) * 1000;
if (VangoghGPU.IsSupported)