Turbo boost dropdown

This commit is contained in:
seerge
2023-03-13 23:28:57 +01:00
parent b6b06a3802
commit dd4d85f254
4 changed files with 46 additions and 30 deletions

41
Fans.Designer.cs generated
View File

@@ -31,11 +31,12 @@
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
panelFans = new Panel(); panelFans = new Panel();
labelBoost = new Label();
comboBoost = new ComboBox();
picturePerf = new PictureBox(); picturePerf = new PictureBox();
tableFanCharts = new TableLayoutPanel(); tableFanCharts = new TableLayoutPanel();
chartGPU = new System.Windows.Forms.DataVisualization.Charting.Chart(); chartGPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
chartCPU = new System.Windows.Forms.DataVisualization.Charting.Chart(); chartCPU = new System.Windows.Forms.DataVisualization.Charting.Chart();
checkBoost = new CheckBox();
labelFans = new Label(); labelFans = new Label();
checkAuto = new CheckBox(); checkAuto = new CheckBox();
buttonReset = new Button(); buttonReset = new Button();
@@ -72,9 +73,10 @@
// //
// panelFans // panelFans
// //
panelFans.Controls.Add(labelBoost);
panelFans.Controls.Add(comboBoost);
panelFans.Controls.Add(picturePerf); panelFans.Controls.Add(picturePerf);
panelFans.Controls.Add(tableFanCharts); panelFans.Controls.Add(tableFanCharts);
panelFans.Controls.Add(checkBoost);
panelFans.Controls.Add(labelFans); panelFans.Controls.Add(labelFans);
panelFans.Controls.Add(checkAuto); panelFans.Controls.Add(checkAuto);
panelFans.Controls.Add(buttonReset); panelFans.Controls.Add(buttonReset);
@@ -87,6 +89,26 @@
panelFans.Size = new Size(824, 1159); panelFans.Size = new Size(824, 1159);
panelFans.TabIndex = 12; panelFans.TabIndex = 12;
// //
// labelBoost
//
labelBoost.AutoSize = true;
labelBoost.Location = new Point(396, 18);
labelBoost.Name = "labelBoost";
labelBoost.Size = new Size(125, 32);
labelBoost.TabIndex = 39;
labelBoost.Text = "CPU Boost";
//
// comboBoost
//
comboBoost.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
comboBoost.DropDownStyle = ComboBoxStyle.DropDownList;
comboBoost.FormattingEnabled = true;
comboBoost.Items.AddRange(new object[] { "Disabled", "Enabled", "Aggressive", "Efficient Enabled", "Efficient Aggressive" });
comboBoost.Location = new Point(526, 15);
comboBoost.Name = "comboBoost";
comboBoost.Size = new Size(266, 40);
comboBoost.TabIndex = 38;
//
// picturePerf // picturePerf
// //
picturePerf.BackgroundImage = Properties.Resources.icons8_fan_head_96; picturePerf.BackgroundImage = Properties.Resources.icons8_fan_head_96;
@@ -141,18 +163,6 @@
chartCPU.TabIndex = 14; chartCPU.TabIndex = 14;
chartCPU.Text = "chartCPU"; chartCPU.Text = "chartCPU";
// //
// checkBoost
//
checkBoost.AutoSize = true;
checkBoost.ForeColor = SystemColors.ControlText;
checkBoost.Location = new Point(475, 18);
checkBoost.Margin = new Padding(4, 2, 4, 2);
checkBoost.Name = "checkBoost";
checkBoost.Size = new Size(320, 36);
checkBoost.TabIndex = 35;
checkBoost.Text = "CPU Turbo Boost enabled";
checkBoost.UseVisualStyleBackColor = true;
//
// labelFans // labelFans
// //
labelFans.AutoSize = true; labelFans.AutoSize = true;
@@ -453,9 +463,10 @@
private TableLayoutPanel tableFanCharts; private TableLayoutPanel tableFanCharts;
private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU; private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU; private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
private CheckBox checkBoost;
private Label labelFans; private Label labelFans;
private PictureBox picturePerf; private PictureBox picturePerf;
private PictureBox pictureBox1; private PictureBox pictureBox1;
private ComboBox comboBoost;
private Label labelBoost;
} }
} }

18
Fans.cs
View File

@@ -115,7 +115,7 @@ namespace GHelper
InitPower(); InitPower();
InitBoost(); InitBoost();
checkBoost.Click += CheckBoost_Click; comboBoost.SelectedIndexChanged += ComboBoost_Changed;
Shown += Fans_Shown; Shown += Fans_Shown;
@@ -125,19 +125,15 @@ namespace GHelper
public void InitBoost() public void InitBoost()
{ {
int boost = NativeMethods.GetCPUBoost(); int boost = NativeMethods.GetCPUBoost();
checkBoost.Checked = (boost > 0); if (boost >= 0)
comboBoost.SelectedIndex = boost;
} }
private void CheckBoost_Click(object? sender, EventArgs e) private void ComboBoost_Changed(object? sender, EventArgs e)
{ {
if (sender is null) if (sender is null) return;
return; ComboBox cmb = (ComboBox)sender;
NativeMethods.SetCPUBoost(cmb.SelectedIndex);
CheckBox chk = (CheckBox)sender;
if (chk.Checked)
NativeMethods.SetCPUBoost(2);
else
NativeMethods.SetCPUBoost(0);
} }
private void CheckApplyPower_Click(object? sender, EventArgs e) private void CheckApplyPower_Click(object? sender, EventArgs e)

View File

@@ -19,7 +19,14 @@ public class HardwareMonitor
var ct = new PerformanceCounter("Thermal Zone Information", "Temperature", @"\_TZ.THRM", true); var ct = new PerformanceCounter("Thermal Zone Information", "Temperature", @"\_TZ.THRM", true);
cpuTemp = ct.NextValue() - 273; cpuTemp = ct.NextValue() - 273;
ct.Dispose(); ct.Dispose();
}
catch
{
Logger.WriteLine("Failed reading CPU temp");
}
try
{
var cb = new PerformanceCounter("Power Meter", "Power", "Power Meter (0)", true); var cb = new PerformanceCounter("Power Meter", "Power", "Power Meter (0)", true);
batteryDischarge = cb.NextValue() / 1000; batteryDischarge = cb.NextValue() / 1000;
cb.Dispose(); cb.Dispose();
@@ -27,15 +34,16 @@ public class HardwareMonitor
} }
catch catch
{ {
//Logger.WriteLine("Failed reading sensors"); Logger.WriteLine("Failed reading Battery discharge");
} }
try try
{ {
gpuTemp = GpuTemperatureProvider?.GetCurrentTemperature(); gpuTemp = GpuTemperatureProvider?.GetCurrentTemperature();
} catch } catch (Exception ex)
{ {
//Logger.WriteLine("Failed reading GPU temps"); Logger.WriteLine("Failed reading GPU temp");
Logger.WriteLine(ex.ToString());
} }
} }

View File

@@ -654,6 +654,7 @@ public class NativeMethods
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid); PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
/*
var hrDC = PowerWriteDCValueIndex( var hrDC = PowerWriteDCValueIndex(
IntPtr.Zero, IntPtr.Zero,
activeSchemeGuid, activeSchemeGuid,
@@ -662,7 +663,7 @@ public class NativeMethods
boost); boost);
PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid); PowerSetActiveScheme(IntPtr.Zero, activeSchemeGuid);
*/
} }
} }