diff --git a/app/AutoTDP/AutoTDPService.cs b/app/AutoTDP/AutoTDPService.cs index 9957b71d..d153a8d8 100644 --- a/app/AutoTDP/AutoTDPService.cs +++ b/app/AutoTDP/AutoTDPService.cs @@ -258,7 +258,7 @@ namespace GHelper.AutoTDP CurrentTDP = powerLimiter.GetCPUPowerLimit(); while (currentGame is not null && Running) { - GameFPS = framerateSouce.GetFramerate(profile.ProcessName); + GameFPS = framerateSouce.GetFramerate(instance); Logger.WriteLine("[AutoTDPService] (" + instance.ProcessName + ") Framerate " + GameFPS); diff --git a/app/AutoTDP/FramerateSource/IFramerateSource.cs b/app/AutoTDP/FramerateSource/IFramerateSource.cs index 3bf7aa85..85e64725 100644 --- a/app/AutoTDP/FramerateSource/IFramerateSource.cs +++ b/app/AutoTDP/FramerateSource/IFramerateSource.cs @@ -10,7 +10,7 @@ internal interface IFramerateSource { - public double GetFramerate(string processName); + public double GetFramerate(GameInstance instance); public List GetRunningGames(); } diff --git a/app/AutoTDP/FramerateSource/RTSSFramerateSource.cs b/app/AutoTDP/FramerateSource/RTSSFramerateSource.cs index 7802d47d..5a456c2f 100644 --- a/app/AutoTDP/FramerateSource/RTSSFramerateSource.cs +++ b/app/AutoTDP/FramerateSource/RTSSFramerateSource.cs @@ -69,7 +69,7 @@ namespace GHelper.AutoTDP.FramerateSource return giL; } - public double GetFramerate(string processName) + public double GetFramerate(GameInstance instance) { if (!IsRunning) { @@ -79,7 +79,7 @@ namespace GHelper.AutoTDP.FramerateSource try { var appE = OSD.GetAppEntries() - .Where(x => (x.Flags & AppFlags.MASK) != AppFlags.None).FirstOrDefault(a => a.Name.EndsWith(processName)); + .Where(x => (x.Flags & AppFlags.MASK) != AppFlags.None).FirstOrDefault(a => a.ProcessId == instance.ProcessID); if (appE is null) return -1.0d;