Skip to content

Commit

Permalink
Bug fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesCJ60 committed Aug 31, 2023
1 parent 3ff545e commit f9318e4
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public static void setAddresses()
if (Family.FAM == Family.RyzenFamily.Mendocino || Family.FAM == Family.RyzenFamily.Rembrandt || Family.FAM == Family.RyzenFamily.PhoenixPoint || Family.FAM == Family.RyzenFamily.StrixPoint) Socket_FT6_FP7_FP8();
if (Family.FAM == Family.RyzenFamily.Raphael || Family.FAM == Family.RyzenFamily.DragonRange || Family.FAM == Family.RyzenFamily.GraniteRidge || Family.FAM == Family.RyzenFamily.FireRange) Socket_AM5_V1();

SMUCommands.RyzenAccess.Initialize();
}

private static void Socket_FT5_FP5_AM4()
Expand Down Expand Up @@ -324,7 +325,6 @@ class SMUCommands

public static void applySettings(string commandName, uint value)
{
RyzenAccess.Initialize();
uint[] Args = new uint[6];
Args[0] = value;

Expand All @@ -346,8 +346,6 @@ public static void applySettings(string commandName, uint value)
Task.WaitAll(tasks.ToArray());
}
else throw new ArgumentException($"Command '{commandName}' not found");

RyzenAccess.Deinitialize();
}
}

Expand All @@ -373,12 +371,11 @@ public enum Status : int
{ Smu.Status.CMD_REJECTED_BUSY, "CMD Rejected Busy" }
};

Ols RyzenNbAccesss;
Ols RyzenNbAccesss = new Ols();

public Smu(bool EnableDebug)
{
ShowDebug = EnableDebug;
RyzenNbAccesss = new Ols();

// Check WinRing0 status
switch (RyzenNbAccesss.GetDllStatus())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public class AdaptivePreset
public bool _isAdaptiveiGPU { get; set; }
public int _maxiGPU { get; set; }
public int _miniGPU { get; set; }

public bool _isAdaptivePerf { get; set; }
}

public class AdaptivePresetManager
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<PackageReference Include="SharpDX.XInput" Version="4.2.0" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="7.0.0" />
<PackageReference Include="TaskScheduler" Version="2.10.1" />
<PackageReference Include="WPF-UI" Version="2.0.3" />
<PackageReference Include="WPF-UI" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.1" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.0.0" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,9 @@ public partial class AdvancedViewModel : ObservableObject, INavigationAware
[ObservableProperty]
private bool _isAdaptiveTDP = false;

[ObservableProperty]
private bool _isAdaptivePerf = false;

[ObservableProperty]
private int _maxTemp = 95;

Expand Down
24 changes: 14 additions & 10 deletions Universal x86 Tuning Utility Handheld/Views/Pages/AdvancedPage.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
Title="AdvancedPage"
d:DataContext="{d:DesignInstance local:AdvancedPage, IsDesignTimeCreatable=False}"
d:DesignHeight="2000"
d:DesignHeight="3000"
d:DesignWidth="520"
d:Background="{DynamicResource ApplicationBackgroundBrush}"
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
Expand All @@ -25,7 +25,11 @@
</ui:UiPage.Resources>

<Grid Margin="16.5,0,18,0" VerticalAlignment="Top">
<StackPanel>
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1993*"/>
</Grid.RowDefinitions>
<StackPanel Grid.RowSpan="2">
<ui:Card Margin="0,18,0,0" Padding="10,12,10,12">
<StackPanel Orientation="Horizontal">
<ui:SymbolIcon Symbol="{Binding ViewModel.BatteryIcon, Mode=OneWay}" FontSize="70">
Expand Down Expand Up @@ -91,7 +95,7 @@
FontWeight="Medium"
Text="{Binding ViewModel.TempLimit,StringFormat={}{0}°C}" />
</Grid>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="0" Maximum="100" Value="{Binding ViewModel.TempLimit, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="0" Maximum="100" Value="{Binding ViewModel.TempLimit, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" SmallChange="1"/>

</Grid>
</ui:CardControl.Header>
Expand Down Expand Up @@ -143,7 +147,7 @@
FontWeight="Medium"
Text="{Binding ViewModel.PowerLimit,StringFormat={}{0}W}" />
</Grid>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="60" Value="{Binding ViewModel.PowerLimit, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="60" Value="{Binding ViewModel.PowerLimit, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" SmallChange="1"/>

</Grid>
</ui:CardControl.Header>
Expand Down Expand Up @@ -196,7 +200,7 @@
FontWeight="Medium"
Text="{Binding ViewModel.MaxTemp,StringFormat={}{0}°C}" />
</Grid>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="100" Value="{Binding ViewModel.MaxTemp, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="100" Value="{Binding ViewModel.MaxTemp, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" SmallChange="1"/>

</Grid>
</ui:CardControl.Header>
Expand All @@ -220,12 +224,12 @@
FontWeight="Medium"
Text="{Binding ViewModel.MaxTDP,StringFormat={}{0}W}" />
</Grid>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="60" Value="{Binding ViewModel.MaxTDP, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="5" Maximum="60" Value="{Binding ViewModel.MaxTDP, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" SmallChange="1"/>

</Grid>
</ui:CardControl.Header>
</ui:CardControl>
<ui:CardControl
<ui:CardControl Visibility="{Binding ViewModel.IsAdaptiveTDP, Converter={StaticResource BooleanToVisibilityConverter}}"
Name="ccSection431"
IsEnabled="True" Margin="0,9,0,0" DockPanel.Dock="Top">
<ui:CardControl.Header>
Expand All @@ -241,7 +245,7 @@
Text="Adjust based on RTSS FPS limits" />
</StackPanel>
<StackPanel Orientation="Horizontal" Grid.Column="1">
<ui:ToggleSwitch IsChecked="{Binding ViewModel.IsAdaptiveTDP, Mode=TwoWay}" Checked="ToggleSwitch_Checked" Unchecked="ToggleSwitch_Unchecked"></ui:ToggleSwitch>
<ui:ToggleSwitch IsChecked="{Binding ViewModel.IsAdaptivePerf, Mode=TwoWay}" Checked="ToggleSwitch_Checked" Unchecked="ToggleSwitch_Unchecked"></ui:ToggleSwitch>
</StackPanel>

</Grid>
Expand Down Expand Up @@ -369,7 +373,7 @@
FontWeight="Medium"
Text="{Binding ViewModel.UnderVolt}" />
</Grid>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="-50" Maximum="0" Value="{Binding ViewModel.UnderVolt, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="-50" Maximum="0" Value="{Binding ViewModel.UnderVolt, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" SmallChange="1"/>

</Grid>
</ui:CardControl.Header>
Expand Down Expand Up @@ -473,7 +477,7 @@
FontWeight="Medium"
Text="{Binding ViewModel.CoreCount,StringFormat={}{0} Cores}" />
</Grid>
<Slider VerticalAlignment="Center" TickFrequency="25" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="2" SmallChange="1" LargeChange="1" Maximum="{Binding ViewModel.MaxCoreCount}" Value="{Binding ViewModel.CoreCount, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
<Slider VerticalAlignment="Center" TickFrequency="25" Grid.Column="1" HorizontalAlignment="Stretch" Minimum="2" SmallChange="1" LargeChange="1" Maximum="{Binding ViewModel.MaxCoreCount}" Value="{Binding ViewModel.CoreCount, Mode=TwoWay}" Margin="12,0,0,0" ValueChanged="Slider_ValueChanged" TouchDown="SizeSlider_TouchDown" />

</Grid>
</ui:CardControl.Header>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,7 @@ private void savePreset()
_maxTemp = ViewModel.MaxTemp,
_maxiGPU = ViewModel.MaxiGPU,
_miniGPU = ViewModel.MiniGPU,
_isAdaptivePerf = ViewModel.IsAdaptivePerf,
};
adaptivePresetManager.SavePreset(Global.presetName, preset);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using LibreHardwareMonitor.Hardware.Cpu;
using Microsoft.Win32;
using RTSSSharedMemoryNET;
using RyzenSmu;
using SharpDX.XInput;
using System;
using System.Collections.Generic;
Expand Down Expand Up @@ -983,7 +984,7 @@ private void UpdatePreset(string presetName)
AdViewModel.MaxTemp = myPreset._maxTemp;
AdViewModel.MiniGPU = myPreset._miniGPU;
AdViewModel.MaxiGPU = myPreset._maxiGPU;

AdViewModel.IsAdaptivePerf = myPreset._isAdaptivePerf;
}

if (AdViewModel.CoreCount > AdViewModel.MaxCoreCount) AdViewModel.CoreCount = MaxCoreCount;
Expand Down Expand Up @@ -1015,21 +1016,23 @@ private void UiWindow_IsVisibleChanged(object sender, DependencyPropertyChangedE

private void UiWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if(Family.TYPE != Family.ProcessorType.Intel) SMUCommands.RyzenAccess.Deinitialize();
if (Fan_Control.isSupported) Fan_Control.disableFanControl();
}

bool started = false;
int runs = 0;

static Queue<double> fpsQueue = new Queue<double>();
static int maxQueueSize = 12;
static int maxQueueSize = 8;
static bool tdp, iGPU;
static int minCPUClock = 2150;
static int fps = 0;
static int fpsLimit = 0;
static int minTDP = -1;
static double averageFps = 0;
int numRuns = 0;
bool updateAdaptive = true;
private async void Sensor_Tick(object sender, EventArgs e)
{
try
Expand All @@ -1038,7 +1041,7 @@ private async void Sensor_Tick(object sender, EventArgs e)
iGPU = AdViewModel.IsAdaptiveiGPU;
coreCount = AdViewModel.MaxCoreCount;

if (tdp)
if (tdp && AdViewModel.IsAdaptivePerf)
{
await Task.Run(() =>
{
Expand Down Expand Up @@ -1066,8 +1069,6 @@ private async void Sensor_Tick(object sender, EventArgs e)
//MessageBox.Show(CPUClock.ToString());
//CPUPower = (int)GetSensor.getCPUInfo(SensorType.Power, "Package");
});


Expand Down Expand Up @@ -1148,24 +1149,36 @@ private async void Sensor_Tick(object sender, EventArgs e)
else if (AdViewModel.MaxTDP >= 10) minTDP = AdViewModel.MaxTDP - 5;
if (minTDP < 5) minTDP = 5;

if (exists && AdViewModel.IsAdaptiveFPS == true || exists && AdViewModel.IsFPS == true)
if (updateAdaptive || fps < fpsLimit)
{
if (averageFps != fpsLimit) CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp, fps, fpsLimit);
if (exists && AdViewModel.IsAdaptiveFPS == true || exists && AdViewModel.IsFPS == true)
{
if (averageFps != fpsLimit) CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp, fps, fpsLimit);

if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock, fps, fpsLimit);
}
else
{
CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp);
if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock, fps, fpsLimit);
}
else
{
CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp);

if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock);
if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock);
}

updateAdaptive = false;
}
else updateAdaptive = true;
}
else
{
CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp);
if (updateAdaptive)
{
CPUControl.UpdatePowerLimit(CPUTemp, CPULoad, AdViewModel.MaxTDP, minTDP, AdViewModel.MaxTemp);

if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock);
if (iGPU) iGPUControl.UpdateiGPUClock(AdViewModel.MaxiGPU, AdViewModel.MiniGPU, AdViewModel.MaxTemp, CPUPower, CPUTemp, GPUClock, GPULoad, GPUMemClock, CPUClock, newMinCPUClock);

updateAdaptive = false;
}
else updateAdaptive = true;
}
}
}
Expand Down

0 comments on commit f9318e4

Please sign in to comment.