steam-deck-tools/PowerControl/Options/SMT.cs

38 lines
1.1 KiB
C#
Raw Normal View History

using CommonHelpers;
using PowerControl.Helpers;
namespace PowerControl.Options
{
public static class SMT
{
public static Menu.MenuItemWithOptions Instance = new Menu.MenuItemWithOptions()
{
Name = "SMT",
PersistentKey = "SMT",
ApplyDelay = 500,
Options = { "No", "Yes" },
ResetValue = () => { return "Yes"; },
CurrentValue = delegate ()
{
if (!RTSS.IsOSDForeground(out var processId))
return null;
if (!ProcessorCores.HasSMTThreads())
return null;
2022-12-19 22:52:23 +01:00
return ProcessorCores.IsUsingSMT(processId) ? "Yes" : "No";
},
ApplyValue = (selected) =>
{
if (!RTSS.IsOSDForeground(out var processId))
return null;
if (!ProcessorCores.HasSMTThreads())
return null;
2022-12-19 22:52:23 +01:00
ProcessorCores.SetProcessSMT(processId, selected.ToString() == "Yes");
2022-12-19 22:52:23 +01:00
return ProcessorCores.IsUsingSMT(processId) ? "Yes" : "No";
}
};
}
}