Overclocking logic, added restart-gpu workaround

This commit is contained in:
Serge
2023-05-10 14:06:33 +02:00
parent 27bc7339d8
commit 0142c25929
5 changed files with 149 additions and 90 deletions

135
app/Extra.Designer.cs generated
View File

@@ -101,7 +101,7 @@ namespace GHelper
groupBindings.Dock = DockStyle.Top; groupBindings.Dock = DockStyle.Top;
groupBindings.Location = new Point(10, 10); groupBindings.Location = new Point(10, 10);
groupBindings.Name = "groupBindings"; groupBindings.Name = "groupBindings";
groupBindings.Size = new Size(848, 242); groupBindings.Size = new Size(934, 242);
groupBindings.TabIndex = 0; groupBindings.TabIndex = 0;
groupBindings.TabStop = false; groupBindings.TabStop = false;
groupBindings.Text = "Key Bindings"; groupBindings.Text = "Key Bindings";
@@ -111,7 +111,7 @@ namespace GHelper
pictureHelp.BackgroundImage = Resources.icons8_help_64; pictureHelp.BackgroundImage = Resources.icons8_help_64;
pictureHelp.BackgroundImageLayout = ImageLayout.Zoom; pictureHelp.BackgroundImageLayout = ImageLayout.Zoom;
pictureHelp.Cursor = Cursors.Hand; pictureHelp.Cursor = Cursors.Hand;
pictureHelp.Location = new Point(744, 57); pictureHelp.Location = new Point(884, 58);
pictureHelp.Name = "pictureHelp"; pictureHelp.Name = "pictureHelp";
pictureHelp.Size = new Size(32, 32); pictureHelp.Size = new Size(32, 32);
pictureHelp.TabIndex = 9; pictureHelp.TabIndex = 9;
@@ -122,7 +122,7 @@ namespace GHelper
textFNF4.Location = new Point(415, 176); textFNF4.Location = new Point(415, 176);
textFNF4.Name = "textFNF4"; textFNF4.Name = "textFNF4";
textFNF4.PlaceholderText = "action"; textFNF4.PlaceholderText = "action";
textFNF4.Size = new Size(320, 39); textFNF4.Size = new Size(448, 39);
textFNF4.TabIndex = 8; textFNF4.TabIndex = 8;
// //
// comboFNF4 // comboFNF4
@@ -149,7 +149,7 @@ namespace GHelper
textM4.Location = new Point(415, 113); textM4.Location = new Point(415, 113);
textM4.Name = "textM4"; textM4.Name = "textM4";
textM4.PlaceholderText = "action"; textM4.PlaceholderText = "action";
textM4.Size = new Size(320, 39); textM4.Size = new Size(448, 39);
textM4.TabIndex = 5; textM4.TabIndex = 5;
// //
// textM3 // textM3
@@ -157,7 +157,7 @@ namespace GHelper
textM3.Location = new Point(415, 54); textM3.Location = new Point(415, 54);
textM3.Name = "textM3"; textM3.Name = "textM3";
textM3.PlaceholderText = "notepad /p \"file.txt\""; textM3.PlaceholderText = "notepad /p \"file.txt\"";
textM3.Size = new Size(320, 39); textM3.Size = new Size(448, 39);
textM3.TabIndex = 4; textM3.TabIndex = 4;
// //
// comboM4 // comboM4
@@ -209,7 +209,7 @@ namespace GHelper
groupLight.Dock = DockStyle.Top; groupLight.Dock = DockStyle.Top;
groupLight.Location = new Point(10, 252); groupLight.Location = new Point(10, 252);
groupLight.Name = "groupLight"; groupLight.Name = "groupLight";
groupLight.Size = new Size(848, 475); groupLight.Size = new Size(934, 475);
groupLight.TabIndex = 1; groupLight.TabIndex = 1;
groupLight.TabStop = false; groupLight.TabStop = false;
groupLight.Text = "Keyboard Backlight"; groupLight.Text = "Keyboard Backlight";
@@ -224,7 +224,7 @@ namespace GHelper
panelBacklightExtra.Dock = DockStyle.Top; panelBacklightExtra.Dock = DockStyle.Top;
panelBacklightExtra.Location = new Point(3, 319); panelBacklightExtra.Location = new Point(3, 319);
panelBacklightExtra.Name = "panelBacklightExtra"; panelBacklightExtra.Name = "panelBacklightExtra";
panelBacklightExtra.Size = new Size(842, 153); panelBacklightExtra.Size = new Size(928, 153);
panelBacklightExtra.TabIndex = 43; panelBacklightExtra.TabIndex = 43;
// //
// labelBrightness // labelBrightness
@@ -276,7 +276,7 @@ namespace GHelper
panelXMG.Dock = DockStyle.Top; panelXMG.Dock = DockStyle.Top;
panelXMG.Location = new Point(3, 261); panelXMG.Location = new Point(3, 261);
panelXMG.Name = "panelXMG"; panelXMG.Name = "panelXMG";
panelXMG.Size = new Size(842, 58); panelXMG.Size = new Size(928, 58);
panelXMG.TabIndex = 42; panelXMG.TabIndex = 42;
// //
// checkXMG // checkXMG
@@ -328,225 +328,225 @@ namespace GHelper
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.RowStyles.Add(new RowStyle()); tableBacklight.RowStyles.Add(new RowStyle());
tableBacklight.Size = new Size(842, 226); tableBacklight.Size = new Size(928, 226);
tableBacklight.TabIndex = 41; tableBacklight.TabIndex = 41;
// //
// labelBacklight // labelBacklight
// //
labelBacklight.AutoSize = true; labelBacklight.Dock = DockStyle.Fill;
labelBacklight.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklight.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklight.Location = new Point(3, 0); labelBacklight.Location = new Point(3, 0);
labelBacklight.Name = "labelBacklight"; labelBacklight.Name = "labelBacklight";
labelBacklight.Padding = new Padding(10, 5, 5, 5); labelBacklight.Padding = new Padding(10, 5, 5, 5);
labelBacklight.Size = new Size(139, 42); labelBacklight.Size = new Size(226, 42);
labelBacklight.TabIndex = 6; labelBacklight.TabIndex = 6;
labelBacklight.Text = "Keyboard"; labelBacklight.Text = "Keyboard";
// //
// checkAwake // checkAwake
// //
checkAwake.AutoSize = true; checkAwake.Dock = DockStyle.Fill;
checkAwake.Location = new Point(3, 45); checkAwake.Location = new Point(3, 45);
checkAwake.Name = "checkAwake"; checkAwake.Name = "checkAwake";
checkAwake.Padding = new Padding(15, 2, 5, 2); checkAwake.Padding = new Padding(15, 2, 5, 2);
checkAwake.Size = new Size(135, 40); checkAwake.Size = new Size(226, 40);
checkAwake.TabIndex = 1; checkAwake.TabIndex = 1;
checkAwake.Text = Strings.Awake; checkAwake.Text = Strings.Awake;
checkAwake.UseVisualStyleBackColor = true; checkAwake.UseVisualStyleBackColor = true;
// //
// checkBoot // checkBoot
// //
checkBoot.AutoSize = true; checkBoot.Dock = DockStyle.Fill;
checkBoot.Location = new Point(3, 91); checkBoot.Location = new Point(3, 91);
checkBoot.Name = "checkBoot"; checkBoot.Name = "checkBoot";
checkBoot.Padding = new Padding(15, 2, 5, 2); checkBoot.Padding = new Padding(15, 2, 5, 2);
checkBoot.Size = new Size(116, 40); checkBoot.Size = new Size(226, 40);
checkBoot.TabIndex = 2; checkBoot.TabIndex = 2;
checkBoot.Text = Strings.Boot; checkBoot.Text = Strings.Boot;
checkBoot.UseVisualStyleBackColor = true; checkBoot.UseVisualStyleBackColor = true;
// //
// checkSleep // checkSleep
// //
checkSleep.AutoSize = true; checkSleep.Dock = DockStyle.Fill;
checkSleep.Location = new Point(3, 137); checkSleep.Location = new Point(3, 137);
checkSleep.Name = "checkSleep"; checkSleep.Name = "checkSleep";
checkSleep.Padding = new Padding(15, 2, 5, 2); checkSleep.Padding = new Padding(15, 2, 5, 2);
checkSleep.Size = new Size(125, 40); checkSleep.Size = new Size(226, 40);
checkSleep.TabIndex = 3; checkSleep.TabIndex = 3;
checkSleep.Text = Strings.Sleep; checkSleep.Text = "Sleep";
checkSleep.UseVisualStyleBackColor = true; checkSleep.UseVisualStyleBackColor = true;
// //
// checkShutdown // checkShutdown
// //
checkShutdown.AutoSize = true; checkShutdown.Dock = DockStyle.Fill;
checkShutdown.Location = new Point(3, 183); checkShutdown.Location = new Point(3, 183);
checkShutdown.Name = "checkShutdown"; checkShutdown.Name = "checkShutdown";
checkShutdown.Padding = new Padding(15, 2, 5, 2); checkShutdown.Padding = new Padding(15, 2, 5, 2);
checkShutdown.Size = new Size(174, 40); checkShutdown.Size = new Size(226, 40);
checkShutdown.TabIndex = 4; checkShutdown.TabIndex = 4;
checkShutdown.Text = Strings.Shutdown; checkShutdown.Text = Strings.Shutdown;
checkShutdown.UseVisualStyleBackColor = true; checkShutdown.UseVisualStyleBackColor = true;
// //
// labelBacklightLogo // labelBacklightLogo
// //
labelBacklightLogo.AutoSize = true; labelBacklightLogo.Dock = DockStyle.Fill;
labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightLogo.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightLogo.Location = new Point(213, 0); labelBacklightLogo.Location = new Point(235, 0);
labelBacklightLogo.Name = "labelBacklightLogo"; labelBacklightLogo.Name = "labelBacklightLogo";
labelBacklightLogo.Padding = new Padding(10, 5, 5, 5); labelBacklightLogo.Padding = new Padding(10, 5, 5, 5);
labelBacklightLogo.Size = new Size(86, 42); labelBacklightLogo.Size = new Size(226, 42);
labelBacklightLogo.TabIndex = 21; labelBacklightLogo.TabIndex = 21;
labelBacklightLogo.Text = "Logo"; labelBacklightLogo.Text = "Logo";
// //
// checkAwakeLogo // checkAwakeLogo
// //
checkAwakeLogo.AutoSize = true; checkAwakeLogo.Dock = DockStyle.Fill;
checkAwakeLogo.Location = new Point(213, 45); checkAwakeLogo.Location = new Point(235, 45);
checkAwakeLogo.Name = "checkAwakeLogo"; checkAwakeLogo.Name = "checkAwakeLogo";
checkAwakeLogo.Padding = new Padding(15, 2, 5, 2); checkAwakeLogo.Padding = new Padding(15, 2, 5, 2);
checkAwakeLogo.Size = new Size(135, 40); checkAwakeLogo.Size = new Size(226, 40);
checkAwakeLogo.TabIndex = 17; checkAwakeLogo.TabIndex = 17;
checkAwakeLogo.Text = Strings.Awake; checkAwakeLogo.Text = Strings.Awake;
checkAwakeLogo.UseVisualStyleBackColor = true; checkAwakeLogo.UseVisualStyleBackColor = true;
// //
// checkBootLogo // checkBootLogo
// //
checkBootLogo.AutoSize = true; checkBootLogo.Dock = DockStyle.Fill;
checkBootLogo.Location = new Point(213, 91); checkBootLogo.Location = new Point(235, 91);
checkBootLogo.Name = "checkBootLogo"; checkBootLogo.Name = "checkBootLogo";
checkBootLogo.Padding = new Padding(15, 2, 5, 2); checkBootLogo.Padding = new Padding(15, 2, 5, 2);
checkBootLogo.Size = new Size(116, 40); checkBootLogo.Size = new Size(226, 40);
checkBootLogo.TabIndex = 18; checkBootLogo.TabIndex = 18;
checkBootLogo.Text = Strings.Boot; checkBootLogo.Text = Strings.Boot;
checkBootLogo.UseVisualStyleBackColor = true; checkBootLogo.UseVisualStyleBackColor = true;
// //
// checkSleepLogo // checkSleepLogo
// //
checkSleepLogo.AutoSize = true; checkSleepLogo.Dock = DockStyle.Fill;
checkSleepLogo.Location = new Point(213, 137); checkSleepLogo.Location = new Point(235, 137);
checkSleepLogo.Name = "checkSleepLogo"; checkSleepLogo.Name = "checkSleepLogo";
checkSleepLogo.Padding = new Padding(15, 2, 5, 2); checkSleepLogo.Padding = new Padding(15, 2, 5, 2);
checkSleepLogo.Size = new Size(125, 40); checkSleepLogo.Size = new Size(226, 40);
checkSleepLogo.TabIndex = 19; checkSleepLogo.TabIndex = 19;
checkSleepLogo.Text = Strings.Sleep; checkSleepLogo.Text = Strings.Sleep;
checkSleepLogo.UseVisualStyleBackColor = true; checkSleepLogo.UseVisualStyleBackColor = true;
// //
// checkShutdownLogo // checkShutdownLogo
// //
checkShutdownLogo.AutoSize = true; checkShutdownLogo.Dock = DockStyle.Fill;
checkShutdownLogo.Location = new Point(213, 183); checkShutdownLogo.Location = new Point(235, 183);
checkShutdownLogo.Name = "checkShutdownLogo"; checkShutdownLogo.Name = "checkShutdownLogo";
checkShutdownLogo.Padding = new Padding(15, 2, 5, 2); checkShutdownLogo.Padding = new Padding(15, 2, 5, 2);
checkShutdownLogo.Size = new Size(174, 40); checkShutdownLogo.Size = new Size(226, 40);
checkShutdownLogo.TabIndex = 20; checkShutdownLogo.TabIndex = 20;
checkShutdownLogo.Text = Strings.Shutdown; checkShutdownLogo.Text = Strings.Shutdown;
checkShutdownLogo.UseVisualStyleBackColor = true; checkShutdownLogo.UseVisualStyleBackColor = true;
// //
// labelBacklightBar // labelBacklightBar
// //
labelBacklightBar.AutoSize = true; labelBacklightBar.Dock = DockStyle.Fill;
labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightBar.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightBar.Location = new Point(423, 0); labelBacklightBar.Location = new Point(467, 0);
labelBacklightBar.Name = "labelBacklightBar"; labelBacklightBar.Name = "labelBacklightBar";
labelBacklightBar.Padding = new Padding(10, 5, 5, 5); labelBacklightBar.Padding = new Padding(10, 5, 5, 5);
labelBacklightBar.Size = new Size(124, 42); labelBacklightBar.Size = new Size(226, 42);
labelBacklightBar.TabIndex = 11; labelBacklightBar.TabIndex = 11;
labelBacklightBar.Text = "Lightbar"; labelBacklightBar.Text = "Lightbar";
// //
// checkAwakeBar // checkAwakeBar
// //
checkAwakeBar.AutoSize = true; checkAwakeBar.Dock = DockStyle.Fill;
checkAwakeBar.Location = new Point(423, 45); checkAwakeBar.Location = new Point(467, 45);
checkAwakeBar.Name = "checkAwakeBar"; checkAwakeBar.Name = "checkAwakeBar";
checkAwakeBar.Padding = new Padding(15, 2, 5, 2); checkAwakeBar.Padding = new Padding(15, 2, 5, 2);
checkAwakeBar.Size = new Size(135, 40); checkAwakeBar.Size = new Size(226, 40);
checkAwakeBar.TabIndex = 7; checkAwakeBar.TabIndex = 7;
checkAwakeBar.Text = Strings.Awake; checkAwakeBar.Text = Strings.Awake;
checkAwakeBar.UseVisualStyleBackColor = true; checkAwakeBar.UseVisualStyleBackColor = true;
// //
// checkBootBar // checkBootBar
// //
checkBootBar.AutoSize = true; checkBootBar.Dock = DockStyle.Fill;
checkBootBar.Location = new Point(423, 91); checkBootBar.Location = new Point(467, 91);
checkBootBar.Name = "checkBootBar"; checkBootBar.Name = "checkBootBar";
checkBootBar.Padding = new Padding(15, 2, 5, 2); checkBootBar.Padding = new Padding(15, 2, 5, 2);
checkBootBar.Size = new Size(116, 40); checkBootBar.Size = new Size(226, 40);
checkBootBar.TabIndex = 8; checkBootBar.TabIndex = 8;
checkBootBar.Text = Strings.Boot; checkBootBar.Text = Strings.Boot;
checkBootBar.UseVisualStyleBackColor = true; checkBootBar.UseVisualStyleBackColor = true;
// //
// checkSleepBar // checkSleepBar
// //
checkSleepBar.AutoSize = true; checkSleepBar.Dock = DockStyle.Fill;
checkSleepBar.Location = new Point(423, 137); checkSleepBar.Location = new Point(467, 137);
checkSleepBar.Name = "checkSleepBar"; checkSleepBar.Name = "checkSleepBar";
checkSleepBar.Padding = new Padding(15, 2, 5, 2); checkSleepBar.Padding = new Padding(15, 2, 5, 2);
checkSleepBar.Size = new Size(125, 40); checkSleepBar.Size = new Size(226, 40);
checkSleepBar.TabIndex = 9; checkSleepBar.TabIndex = 9;
checkSleepBar.Text = Strings.Sleep; checkSleepBar.Text = Strings.Sleep;
checkSleepBar.UseVisualStyleBackColor = true; checkSleepBar.UseVisualStyleBackColor = true;
// //
// checkShutdownBar // checkShutdownBar
// //
checkShutdownBar.AutoSize = true; checkShutdownBar.Dock = DockStyle.Fill;
checkShutdownBar.Location = new Point(423, 183); checkShutdownBar.Location = new Point(467, 183);
checkShutdownBar.Name = "checkShutdownBar"; checkShutdownBar.Name = "checkShutdownBar";
checkShutdownBar.Padding = new Padding(15, 2, 5, 2); checkShutdownBar.Padding = new Padding(15, 2, 5, 2);
checkShutdownBar.Size = new Size(174, 40); checkShutdownBar.Size = new Size(226, 40);
checkShutdownBar.TabIndex = 10; checkShutdownBar.TabIndex = 10;
checkShutdownBar.Text = Strings.Shutdown; checkShutdownBar.Text = Strings.Shutdown;
checkShutdownBar.UseVisualStyleBackColor = true; checkShutdownBar.UseVisualStyleBackColor = true;
// //
// labelBacklightLid // labelBacklightLid
// //
labelBacklightLid.AutoSize = true; labelBacklightLid.Dock = DockStyle.Fill;
labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelBacklightLid.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelBacklightLid.Location = new Point(633, 0); labelBacklightLid.Location = new Point(699, 0);
labelBacklightLid.Name = "labelBacklightLid"; labelBacklightLid.Name = "labelBacklightLid";
labelBacklightLid.Padding = new Padding(10, 5, 5, 5); labelBacklightLid.Padding = new Padding(10, 5, 5, 5);
labelBacklightLid.Size = new Size(63, 42); labelBacklightLid.Size = new Size(226, 42);
labelBacklightLid.TabIndex = 16; labelBacklightLid.TabIndex = 16;
labelBacklightLid.Text = "Lid"; labelBacklightLid.Text = "Lid";
// //
// checkAwakeLid // checkAwakeLid
// //
checkAwakeLid.AutoSize = true; checkAwakeLid.Dock = DockStyle.Fill;
checkAwakeLid.Location = new Point(633, 45); checkAwakeLid.Location = new Point(699, 45);
checkAwakeLid.Name = "checkAwakeLid"; checkAwakeLid.Name = "checkAwakeLid";
checkAwakeLid.Padding = new Padding(15, 2, 5, 2); checkAwakeLid.Padding = new Padding(15, 2, 5, 2);
checkAwakeLid.Size = new Size(135, 40); checkAwakeLid.Size = new Size(226, 40);
checkAwakeLid.TabIndex = 12; checkAwakeLid.TabIndex = 12;
checkAwakeLid.Text = Strings.Awake; checkAwakeLid.Text = Strings.Awake;
checkAwakeLid.UseVisualStyleBackColor = true; checkAwakeLid.UseVisualStyleBackColor = true;
// //
// checkBootLid // checkBootLid
// //
checkBootLid.AutoSize = true; checkBootLid.Dock = DockStyle.Fill;
checkBootLid.Location = new Point(633, 91); checkBootLid.Location = new Point(699, 91);
checkBootLid.Name = "checkBootLid"; checkBootLid.Name = "checkBootLid";
checkBootLid.Padding = new Padding(15, 2, 5, 2); checkBootLid.Padding = new Padding(15, 2, 5, 2);
checkBootLid.Size = new Size(116, 40); checkBootLid.Size = new Size(226, 40);
checkBootLid.TabIndex = 13; checkBootLid.TabIndex = 13;
checkBootLid.Text = Strings.Boot; checkBootLid.Text = Strings.Boot;
checkBootLid.UseVisualStyleBackColor = true; checkBootLid.UseVisualStyleBackColor = true;
// //
// checkSleepLid // checkSleepLid
// //
checkSleepLid.AutoSize = true; checkSleepLid.Dock = DockStyle.Fill;
checkSleepLid.Location = new Point(633, 137); checkSleepLid.Location = new Point(699, 137);
checkSleepLid.Name = "checkSleepLid"; checkSleepLid.Name = "checkSleepLid";
checkSleepLid.Padding = new Padding(15, 2, 5, 2); checkSleepLid.Padding = new Padding(15, 2, 5, 2);
checkSleepLid.Size = new Size(125, 40); checkSleepLid.Size = new Size(226, 40);
checkSleepLid.TabIndex = 14; checkSleepLid.TabIndex = 14;
checkSleepLid.Text = Strings.Sleep; checkSleepLid.Text = Strings.Sleep;
checkSleepLid.UseVisualStyleBackColor = true; checkSleepLid.UseVisualStyleBackColor = true;
// //
// checkShutdownLid // checkShutdownLid
// //
checkShutdownLid.AutoSize = true; checkShutdownLid.Dock = DockStyle.Fill;
checkShutdownLid.Location = new Point(633, 183); checkShutdownLid.Location = new Point(699, 183);
checkShutdownLid.Name = "checkShutdownLid"; checkShutdownLid.Name = "checkShutdownLid";
checkShutdownLid.Padding = new Padding(15, 2, 5, 2); checkShutdownLid.Padding = new Padding(15, 2, 5, 2);
checkShutdownLid.Size = new Size(174, 40); checkShutdownLid.Size = new Size(226, 40);
checkShutdownLid.TabIndex = 15; checkShutdownLid.TabIndex = 15;
checkShutdownLid.Text = Strings.Shutdown; checkShutdownLid.Text = Strings.Shutdown;
checkShutdownLid.UseVisualStyleBackColor = true; checkShutdownLid.UseVisualStyleBackColor = true;
@@ -560,7 +560,7 @@ namespace GHelper
groupOther.Dock = DockStyle.Top; groupOther.Dock = DockStyle.Top;
groupOther.Location = new Point(10, 727); groupOther.Location = new Point(10, 727);
groupOther.Name = "groupOther"; groupOther.Name = "groupOther";
groupOther.Size = new Size(848, 293); groupOther.Size = new Size(934, 276);
groupOther.TabIndex = 2; groupOther.TabIndex = 2;
groupOther.TabStop = false; groupOther.TabStop = false;
groupOther.Text = "Other"; groupOther.Text = "Other";
@@ -610,7 +610,7 @@ namespace GHelper
// //
AutoScaleDimensions = new SizeF(13F, 32F); AutoScaleDimensions = new SizeF(13F, 32F);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(868, 1011); ClientSize = new Size(954, 1013);
Controls.Add(groupOther); Controls.Add(groupOther);
Controls.Add(groupLight); Controls.Add(groupLight);
Controls.Add(groupBindings); Controls.Add(groupBindings);
@@ -634,7 +634,6 @@ namespace GHelper
panelXMG.ResumeLayout(false); panelXMG.ResumeLayout(false);
panelXMG.PerformLayout(); panelXMG.PerformLayout();
tableBacklight.ResumeLayout(false); tableBacklight.ResumeLayout(false);
tableBacklight.PerformLayout();
groupOther.ResumeLayout(false); groupOther.ResumeLayout(false);
groupOther.PerformLayout(); groupOther.PerformLayout();
ResumeLayout(false); ResumeLayout(false);

View File

@@ -16,7 +16,7 @@
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.59</AssemblyVersion> <AssemblyVersion>0.60</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -1,5 +1,6 @@
using NvAPIWrapper.GPU; using NvAPIWrapper.GPU;
using NvAPIWrapper.Native; using NvAPIWrapper.Native;
using NvAPIWrapper.Native.Delegates;
using NvAPIWrapper.Native.GPU; using NvAPIWrapper.Native.GPU;
using NvAPIWrapper.Native.GPU.Structures; using NvAPIWrapper.Native.GPU.Structures;
using NvAPIWrapper.Native.Interfaces.GPU; using NvAPIWrapper.Native.Interfaces.GPU;
@@ -74,6 +75,41 @@ public class NvidiaGpuControl : IGpuControl
} }
private static void RunCMD(string name, string args)
{
var cmd = new Process();
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
cmd.StartInfo.FileName = name;
cmd.StartInfo.Arguments = args;
cmd.Start();
Logger.WriteLine(cmd.StandardOutput.ReadToEnd());
cmd.WaitForExit();
}
public void RestartGPU()
{
if (!IsValid) return;
try
{
PhysicalGPU internalGpu = _internalGpu!;
var pnpDeviceId = internalGpu.BusInformation.PCIIdentifiers.ToString();
Logger.WriteLine("Device ID:"+ pnpDeviceId);
RunCMD("pnputil", $"/disable-device /deviceid \"{pnpDeviceId}\"");
Thread.Sleep(1000);
RunCMD("pnputil", $"/enable-device /deviceid \"{pnpDeviceId}\"");
}
catch (Exception ex )
{
Logger.WriteLine(ex.ToString());
}
}
public int SetClocksFromConfig() public int SetClocksFromConfig()
{ {
int core = Program.config.getConfig("gpu_core"); int core = Program.config.getConfig("gpu_core");

View File

@@ -43,7 +43,7 @@ namespace GHelper
Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture;
Debug.WriteLine(CultureInfo.CurrentUICulture); Debug.WriteLine(CultureInfo.CurrentUICulture);
//Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("zh"); //Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("es");
CheckProcesses(); CheckProcesses();

View File

@@ -1054,25 +1054,25 @@ namespace GHelper
if (gpu_core == -1 && gpu_memory == -1) return; if (gpu_core == -1 && gpu_memory == -1) return;
if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false; //if ((gpu_core > -5 && gpu_core < 5) && (gpu_memory > -5 && gpu_memory < 5)) launchAsAdmin = false;
if (HardwareControl.GpuControl is not null && HardwareControl.GpuControl.IsNvidia) if (!HardwareControl.GpuControl!.IsNvidia) return;
if (Program.wmi.DeviceGet(ASUSWmi.GPUEco) == 1) return;
using NvidiaGpuControl nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
try
{ {
using NvidiaGpuControl nvControl = (NvidiaGpuControl)HardwareControl.GpuControl; int getStatus = nvControl.GetClocks(out int current_core, out int current_memory, out string gpuName);
try if (getStatus == -1) return;
{ if (Math.Abs(gpu_core - current_core) < 5 && Math.Abs(gpu_memory - current_memory) < 5) return;
int getStatus = nvControl.GetClocks(out int current_core, out int current_memory, out string gpuName);
if (getStatus == -1) return;
if (Math.Abs(gpu_core - current_core) < 5 && Math.Abs(gpu_memory - current_memory) < 5) return;
int setStatus = nvControl.SetClocks(gpu_core, gpu_memory); int setStatus = nvControl.SetClocks(gpu_core, gpu_memory);
if (launchAsAdmin && setStatus == -1) Program.RunAsAdmin("gpu"); if (launchAsAdmin && setStatus == -1) Program.RunAsAdmin("gpu");
} }
catch (Exception ex) catch (Exception ex)
{ {
Logger.WriteLine(ex.ToString()); Logger.WriteLine(ex.ToString());
}
} }
} }
@@ -1451,8 +1451,21 @@ namespace GHelper
} }
public void RestartGPUHardWay()
{
if (!HardwareControl.GpuControl!.IsNvidia) return;
public void SetGPUEco(int eco) DialogResult dialogResult = MessageBox.Show("Something is using dGPU. Restart it in a device manager and try to set Eco again?", Properties.Strings.EcoMode, MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.No) return;
Program.RunAsAdmin();
Logger.WriteLine("Trying to disable GPU in a hard way");
var nvControl = (NvidiaGpuControl)HardwareControl.GpuControl;
nvControl.RestartGPU();
}
public void SetGPUEco(int eco, bool hardWay = false)
{ {
ButtonEnabled(buttonOptimized, false); ButtonEnabled(buttonOptimized, false);
@@ -1462,7 +1475,6 @@ namespace GHelper
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUChanging + " ..."; labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUChanging + " ...";
Task.Run(async () => Task.Run(async () =>
{ {
@@ -1473,7 +1485,15 @@ namespace GHelper
foreach (var process in Process.GetProcessesByName(kill)) process.Kill(); foreach (var process in Process.GetProcessesByName(kill)) process.Kill();
} }
Program.wmi.SetGPUEco(eco); int status = Program.wmi.SetGPUEco(eco);
if (status == 0 && eco == 1 && hardWay)
{
RestartGPUHardWay();
await Task.Delay(TimeSpan.FromSeconds(2));
Program.wmi.SetGPUEco(0);
}
await Task.Delay(TimeSpan.FromSeconds(1)); await Task.Delay(TimeSpan.FromSeconds(1));
Program.settingsForm.BeginInvoke(delegate Program.settingsForm.BeginInvoke(delegate
@@ -1483,7 +1503,11 @@ namespace GHelper
}); });
if (eco == 0) if (eco == 0)
HardwareControl.RecreateGpuControlWithDelay(); {
await Task.Delay(TimeSpan.FromSeconds(1));
HardwareControl.RecreateGpuControl();
SetGPUClocks(false);
}
}); });
@@ -1529,7 +1553,7 @@ namespace GHelper
else if (GPUMode == ASUSWmi.GPUModeEco) else if (GPUMode == ASUSWmi.GPUModeEco)
{ {
VisualiseGPUMode(GPUMode); VisualiseGPUMode(GPUMode);
SetGPUEco(1); SetGPUEco(1, true);
changed = true; changed = true;
} }
else if (GPUMode == ASUSWmi.GPUModeStandard) else if (GPUMode == ASUSWmi.GPUModeStandard)