diff --git a/Universal x86 Tuning Utility Handheld/Scripts/Adaptive/iGPUControl.cs b/Universal x86 Tuning Utility Handheld/Scripts/Adaptive/iGPUControl.cs index 2a185e4..4bb3527 100644 --- a/Universal x86 Tuning Utility Handheld/Scripts/Adaptive/iGPUControl.cs +++ b/Universal x86 Tuning Utility Handheld/Scripts/Adaptive/iGPUControl.cs @@ -55,7 +55,7 @@ public static async void UpdateiGPUClock(int maxClock, int minClock, int MaxTemp if ((int)averageLastGpuLoad <= 40 && _gpuLoad > 60 && _currentClock < 650 && cpuClocks >= minCPUClock && memClock > 550) newClock = (int)(maxClock / 1.6); - if (fpsLimit > 0) + if (fps > 0 && fpsLimit > 0) { if (_gpuLoad > 92 && _temperature <= MaxTemperature && memClock >= 550 && cpuClocks > minCPUClock || fps < fpsLimit) { diff --git a/Universal x86 Tuning Utility Handheld/Views/Windows/MainWindow.xaml.cs b/Universal x86 Tuning Utility Handheld/Views/Windows/MainWindow.xaml.cs index f07b78a..5d67673 100644 --- a/Universal x86 Tuning Utility Handheld/Views/Windows/MainWindow.xaml.cs +++ b/Universal x86 Tuning Utility Handheld/Views/Windows/MainWindow.xaml.cs @@ -1093,7 +1093,15 @@ await Task.Run(() => else { - if (RTSS.directoryRTSSExists() && RTSS.RTSSRunning() && AdViewModel.IsAdaptivePerf) + if (i > 6) + { + GPULoad = ADLXBackend.GetGPUMetrics(0, 7); + GPUClock = ADLXBackend.GetGPUMetrics(0, 0); + GPUMemClock = ADLXBackend.GetGPUMetrics(0, 1); + i = -1; + } + + if (RTSS.directoryRTSSExists() == true && RTSS.RTSSRunning() == true && AdViewModel.IsAdaptivePerf == true) { bool exists = true; @@ -1133,14 +1141,6 @@ await Task.Run(() => //exists = IsProcessRunning(appId); }); - if (i > 6) - { - GPULoad = ADLXBackend.GetGPUMetrics(0, 7); - GPUClock = ADLXBackend.GetGPUMetrics(0, 0); - GPUMemClock = ADLXBackend.GetGPUMetrics(0, 1); - i = -1; - } - if (CPUControl._currentPowerLimit >= 45) minCPUClock = 3600; else if (CPUControl._currentPowerLimit >= 38) minCPUClock = 3200; else if (CPUControl._currentPowerLimit >= 33) minCPUClock = 3000; @@ -1172,20 +1172,20 @@ await Task.Run(() => { 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, -1, -1); } updateAdaptive = false; } else updateAdaptive = true; } - else + if(AdViewModel.IsAdaptivePerf == false) { 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, -1, -1); updateAdaptive = false; }