Revert "新增显示设置功能,通过写入注册表将MC设置为“高性能”"

This reverts commit 2e9ca1345c.
This commit is contained in:
nanhuajiaren
2025-03-13 15:39:27 +08:00
parent 2e9ca1345c
commit 482812ce85
4 changed files with 1 additions and 59 deletions
@@ -128,10 +128,6 @@ Public Module ModLaunch
Loaders.Insert(3, New LoaderTask(Of Integer, Integer)("内存优化", AddressOf McLaunchMemoryOptimize) With {.ProgressWeight = 30})
Case 2 '关闭
End Select
'显示设置
If Setup.Get("LaunchGraphicSetup") Then
Loaders.Insert(3, New LoaderTask(Of Integer, Integer)("检查显示设置", AddressOf McLaunchCheckGraphicSettings) With {.ProgressWeight = 2})
End If
Dim LaunchLoader As New LoaderCombo(Of Object)("Minecraft 启动", Loaders) With {.Show = False}
If McLoginLoader.State = LoadState.Finished Then McLoginLoader.State = LoadState.Waiting '要求重启登录主加载器,它会自行决定是否启动副加载器
'等待加载器执行并更新 UI
@@ -207,48 +203,6 @@ NextInner:
#End Region
#Region "显示设置"
Private Sub McLaunchCheckGraphicSettings(Loader As LoaderTask(Of Integer, Integer))
Const GPU_KEY As String = "Software\Microsoft\DirectX\UserGpuPreferences"
Const TARGET_SETUP As String = "GpuPreference=2;"
Dim javaPath As String = McLaunchJavaSelected.PathJavaw
McLaunchLog("显示设置开始")
'读取现行设置
Try
Dim parentKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser
Dim regKey As Microsoft.Win32.RegistryKey = parentKey.OpenSubKey(GPU_KEY, False)
If regKey IsNot Nothing Then
Dim currentSetting As Object = regKey.GetValue(javaPath)
If currentSetting IsNot Nothing And TARGET_SETUP.Equals(currentSetting.ToString()) Then
McLaunchLog("不需要调整显示设置")
Exit Sub
End If
regKey.Close()
End If
Catch ex As Exception
McLaunchLog("无法读取注册表,跳过显示设置")
Exit Sub
End Try
'更新设置
Try
If Not IsAdmin() Then RunAsAdmin("")
Dim parentKey As Microsoft.Win32.RegistryKey = My.Computer.Registry.CurrentUser
Dim regKey As Microsoft.Win32.RegistryKey = parentKey.OpenSubKey(GPU_KEY, True)
If regKey Is Nothing Then
regKey = parentKey.CreateSubKey(GPU_KEY)
End If
regKey.SetValue(javaPath, TARGET_SETUP)
Catch ex As Exception
McLaunchLog("无法写入显示设置")
Exit Sub
End Try
McLaunchLog("已修改显示设置")
End Sub
#End Region
#Region "预检测"
Private Sub McLaunchPrecheck()
@@ -103,7 +103,6 @@
{"LaunchAdvanceRunWait", New SetupEntry(True)},
{"LaunchAdvanceAssets", New SetupEntry(False)},
{"LaunchAdvanceJava", New SetupEntry(False)},
{"LaunchGraphicSetup", New SetupEntry(False)},
{"LaunchRamType", New SetupEntry(0)},
{"LaunchRamCustom", New SetupEntry(15)},
{"LinkEula", New SetupEntry(False, Source:=SetupSource.Registry)},
@@ -170,13 +170,6 @@
</Grid>
</StackPanel>
</local:MyCard>
<local:MyCard Margin="0,0,0,15" Title="显示卡" CanSwap="True" IsSwaped="True">
<StackPanel Margin="25,40,25,15">
<local:MyHint Text="此选项对应 Windows 设置中的“系统 > 屏幕 > 显示卡”页面,只在部分设备上有实际效果。" IsWarn="False" Margin="0,0,0,10" />
<local:MyCheckBox Text="启动前调整图形设置" x:Name="CheckAdvanceGraphicSetup" Tag="LaunchGraphicSetup"
ToolTip="启动前将 Java 的显示卡设置调整为“高性能”。若游戏运行时 GPU 占用过低,或在使用 OBS 捕捉时遇到黑屏问题,可尝试此功能。" />
</StackPanel>
</local:MyCard>
<local:MyCard x:Name="CardSkin" Margin="0,0,0,15" Title="离线皮肤" CanSwap="True" IsSwaped="True">
<StackPanel Margin="25,40,25,15">
<local:MyHint Text="由于技术问题,此功能只保证对 1.19.2 以前的版本有效!" IsWarn="True" Margin="0,0,0,10" />
@@ -45,9 +45,6 @@
CType(FindName("RadioRamType" & Setup.Load("LaunchRamType")), MyRadioBox).Checked = True
SliderRamCustom.Value = Setup.Get("LaunchRamCustom")
'显示卡
CheckAdvanceGraphicSetup.Checked = Setup.Get("LaunchGraphicSetup")
'高级设置
TextAdvanceJvm.Text = Setup.Get("LaunchAdvanceJvm")
TextAdvanceGame.Text = Setup.Get("LaunchAdvanceGame")
@@ -86,7 +83,6 @@
Setup.Reset("LaunchAdvanceAssets")
Setup.Reset("LaunchAdvanceRun")
Setup.Reset("LaunchAdvanceRunWait")
Setup.Reset("LaunchGraphicSetup")
Setup.Reset("LaunchArgumentJavaAll")
Setup.Reset("LaunchArgumentJavaSelect")
@@ -114,7 +110,7 @@
Private Shared Sub ComboChange(sender As MyComboBox, e As Object) Handles ComboArgumentIndie.SelectionChanged, ComboArgumentVisibie.SelectionChanged, ComboArgumentWindowType.SelectionChanged, ComboArgumentPriority.SelectionChanged
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.SelectedIndex)
End Sub
Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceAssets.Change, CheckAdvanceJava.Change, CheckAdvanceRunWait.Change, CheckArgumentRam.Change, CheckAdvanceGraphicSetup.Change
Private Shared Sub CheckBoxChange(sender As MyCheckBox, e As Object) Handles CheckAdvanceAssets.Change, CheckAdvanceJava.Change, CheckAdvanceRunWait.Change, CheckArgumentRam.Change
If AniControlEnabled = 0 Then Setup.Set(sender.Tag, sender.Checked)
End Sub