14.3.0.58 - Performance Mode enabled but falls back to default: balanced

Started by ranko, August 31, 2024, 05:09:36 AM

Previous topic - Next topic

ranko

Hi,

I think I reported this already in the past (months or year ago).
I have Balanced as default/initial energy profile.
Idle saver is enabled.
So usually the system switches between balanced and energy saving.
Ultimate Performance I choosed for special application (Cubase, Games, Macrium Reflect).

Sometimes I want the system to be performant regardless of which application is choosed or not, then I right-click to the PL icon and enable "Performance mode enabled".

I have a Desktop Gadget, which shows me the enery setting (Highest, Balanced, Energy Saving).
If I choose Performance mode and Ultimate kicks in, then the Gadget shows no status, because at that time Ultimate didn't exist. So there I can see quickly if there is something wrong.

And after some time something goes wrong. I see balanced activated although performance mode is still enabled.

Could you try to nail this down and fix it? That would be great.
Otherwise / usually it works very fine.

Here my config.

[Administration]
Version=6100200
ConfigPasswordMD5=
[OutOfControlProcessRestraint]
OocOn=true
ExcludeChildrenOfForeground=true
DisableProBalanceWhenSysIdle=false
ProBalanceDropOneRandomCore=false
DoNotAdjustAffinityIfCustomized=true
OocDisableCoreParkingWhileIn=false
UseEfficiencyMode=false
DisableProBalanceIfSysIdleThisManyMS=30000
TotalProcessorUsageBeforeRestraint=10
PerProcessUsageBeforeRestraint=5
TimeOverQuotaBeforeRestraint=900
PerProcessUsageForRestore=2
PlayOnRestraint=C:\WINDOWS\media\Windows Pop-up Blocked.wav
PlayOnRestore=C:\WINDOWS\media\Windows Feed Discovered.wav
MinimumTimeOfRestraint=4200
MaximumTimeOfRestraint=0
TameOnlyNormal=true
LowerToIdleInsteadOfBelowNormal=false
ExcludeServices=true
PlaySoundOnRestraint=false
PlaySoundOnRestore=false
RestrainByAffinity=false
RestraintAffinity=
ExcludeForegroundProcesses2=true
DoNotLowerPriorityClass=false
LowerIOPriorityDuringRestraint=false
MatchExclusionsByPathnameToo=false
ChangeTrayIconOnRestraint=true
OocExclusions=cubase12.exe,cubase13.exe,musicbee.exe,nms.exe,picasa3.exe,wavelabpro11.exe,wavelabpro12.exe
OocHardCodedExclusionOverrides=
[GUI]
ClearLogAtExit=false
ShowCPUCoreUtilGraphs=true
ShowGraphLegend=true
ShowGraphCPU=true
ShowGraphResponsiveness=true
ShowGraphMemoryLoad=true
ShowGraphProBalanceEvents=true
ShowGraphSelectedProcessesCPUHistory=true
ProBalanceCountersOnGraph=true
ShowGraphLicenseName=true
ShowPowerProfile=true
GraphShowTooltips=true
ShowCPUUtilityAsPrimary=true
[Advanced]
AutomaticUpdate=false
[Performance]
DefaultsLevel=327942
GracefulWaitTimeInMs=5000
UpdateSpeedGUI=1000
UpdateSpeedCore=1000
[Sampling]
SamplingEnabled=false
SamplingIntervalSeconds=900
SamplingOutputPath=
SamplingIncludePattern=
SamplingExcludePattern=
[Performance]
ManageOnlyCurrentUser=false
ExitOnCloseWindow=false
SoundsOff=true
IsConfigWritable=true
ForcedMode=false
IgnoreProblematicProcesses=false
IgnoreSuspendedProcesses=false
SetTimerResolutionAtStartup=0
[ForegroundBoosting]
BoostForegroundProcess=false
ForegroundBoostPriorityClass=0x8000
BoostOnlyNormal=true
ForegroundBoostExclusions=
[SystemTrayIcon]
UseStaticIcon=false
ShowResponsivnessInTrayInsteadOfProcessorUsage=true
[Logging]
LogDisable=false
IncludeCommandLines=false
LogSmartTrim=true
LogCPULimiter=true
LogEfficiencyMode=true
LogGroupExtender=true
LogCPUSets=true
LogProBalanceParkingChanges=true
LogProcessExecutions=false
LogProcessTerminations=false
LogProcessesDisallowed=true
LogDefaultPriorityAdjustments=true
LogDefaultAffinityAdjustments=true
LogProBalanceBegin=true
LogProBalanceEnd=true
LogInstanceLimitTerminations=true
LogPowerProfileChanges=true
[MemoryManagement]
SmartTrimIsEnabled=true
SmartTrimWorkingSetTrims=false
SmartTrimClearStandbyList=false
SmartTrimClearFileCache=false
ClearStandbyFreeRAMThresholdMB=1024
ClearStandbyOnlyInPerfMode=true
SmartTrimExclusions=latmon.exe,cubase12.exe,cubase13.exe,wavelabpro11.exe,wavelabpro12.exe,musicbee.exe,eac.exe,freefilesync_x64.exe,vortex.exe,bg3_dx11.exe,cyberpunk2077.exe,nms.exe,x4.exe
SmartTrimAutoMinimumRAMLoad=65
MinimumProcessWSSInMb=196
SmartTrimIntervalMins=15
[SysTrayBalloons]
EnableSystemTrayNotification=false
BalloonTipDuration=10000
ShowBalloonsForOocPriorityRestoration=false
[ProcessAllowances]
ApplyInstanceCountLimitsToAllUsers=false
AllowedProcesses=
DisallowedProcesses=
InstanceLimitedProcesses=
InstanceManagedCPUAffinities=
ProcessThrottles=
OneTimeProcessThrottles=
CPULimitRules=
[ProcessDefaults]
NamedAffinities=
DefaultPriorities=
DefaultIOPriorities=
DefaultMemoryPriorities=
ThreadPriorityBoosts=
DefaultAffinitiesEx=reflectbin.exe,0,2-15
CPUSets=
KeepRunningProcesses=
[ProcessAllowances]
EfficiencyMode=
[ProcessDefaults]
MatchWildcardsToPathnames=true
MatchOnCommandLine=false
[AdvancedRules]
DivideCPUPercentThresholdsBySystemCPUCount=false
ProcessorGroupExtended=
ProhibitInternetExplorerExceptWhenAny=
WatchdogRules2=
[GamingMode]
GamingModeEnabled=false
GamingChangePowerPlan=true
TargetPowerPlan=Ultimative Leistung
GamingModeEngageForSteam=true

AutomaticGamingModeProcessPaths=bg3_dx11.exe,cubase12.exe,cyberpunk2077.exe,eac.exe,freefilesync_x64.exe,latmon.exe,reflectbin.exe,vortex.exe,wavelabpro11.exe,x4.exe,cubase13.exe,starcitizen.exe,s-gear.exe,wavelabpro12.exe,digikam.exe,resolve.exe,photomove 2.exe,dupeguru-win64.exe,luminar neo.exe,photoshopelementsorganizer.exe,premiereelementseditor.exe,picasa3.exe
[PowerManagement]
StartWithPowerPlan=Ausbalanciert
Display=
PC=
[ProcessDefaults]
DefaultPowerSchemes=b1-win64-shipping.exe;ultimative leistung,picasa3.exe;ultimative leistung,nms.exe;ultimative leistung,premiereelementseditor.exe;ultimative leistung,photoshopelementsorganizer.exe;ultimative leistung,luminar neo.exe;ultimative leistung,dupeguru-win64.exe;ultimative leistung,photomove 2.exe;ultimative leistung,resolve.exe;ultimative leistung,digikam.exe;ultimative leistung,wavelabpro12.exe;ultimative leistung,bg3_dx11.exe;ultimative leistung,cubase12.exe;ultimative leistung,cyberpunk2077.exe;ultimative leistung,eac.exe;ultimative leistung,freefilesync_x64.exe;ultimative leistung,latmon.exe;ultimative leistung,reflectbin.exe;ultimative leistung,vortex.exe;ultimative leistung,wavelabpro11.exe;ultimative leistung,x4.exe;ultimative leistung,cubase13.exe;ultimative leistung,starcitizen.exe;ultimative leistung,es2-win64-shipping.exe;ultimative leistung
[PowerSaver]
PowerSaver_IdleTime=15
EnergySaverEnabled=true

EnergySaverForceActivePowerProfile=false
EnergySaverUpPowerProfileName=
EnergySaverEvents=true
DisableEnergySaverDuringGamingMode=true
PowerSaver_TargetGUID=Energiesparmodus

PowerSaver_Exclusions=
Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2

Jeremy Collake

I think the cause is your manual use of Performance Mode. That does not guarantee that the power plan won't be changed while its engaged. So, it not unexpected to see it result in Balanced, by some other rule or IdleSaver.
Software Engineer. Bitsum LLC.

ranko

Hi Jeremy, how are you? Thanks for your answer.

Sometimes I have the demand to enable performance mode manually.
This needs to have preference over other settings until I deactivate it manually.

Such an automatic change here should not happen if performance mode was manually enabled by rightclicking the PLK Pro Icon in windows notification area. I think then this switch would make sense again and serve a real purpose.

Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2

ranko

Perhaps I should describe my use case.

I use Bitsum's Process Lasso Pro to automatically select the appropriate energy profile depending on the application. However, it doesn't really make sense to define this for each individual application. That would be too much administrative work as I have a lot of them and only some have high performance / low DPC latency requirements.

That's why I use "Balanced" by default in conjunction with IDLE saver, which switches to energy saving when idle.
This is sufficient for most needs. I used your tool parkcontrol to give Balanced a little bit higher CPU frequency to get a little bit higher performance. Thanks for this nice tool.

If an application with high performance / low DPC latency requirements is started, then it is only: games, applications related to recording, video editing and backup.

But from time to time I have a special demand for higher performance, where it would be too much administrative work to configure temprorarily the application in Process Lasso Pro to use an Energpy Profile of higher performance and to enable "performance mode" to deactivate "IDLE saver" which shall not kick in after 15 sec (yes I am using this low value because normally I use only higher performance when working interactively on PC, eg browsing the internet.

And that is also the ingenious thing about your concept, that there is still this switch to be able to quickly switch on "performance mode".

What is simply missing here is a bit of code that gives this switch to enable/disable "Performance Mode" precedence/priority over the other automatisms.

Everything else is already in your code. The IDLE Saver can also be configured so that it is deactivated in performance mode. This is all phantastic and why I recommend PL Pro to people.

I am of the opinion and honestly convinced that this global switch/toggle for enabling/disabling Performance Mode is needed to make your great concept really round. At the moment it is the contrary. The switch is useless as the automatisms have precedence, after some time performance mode is ceased and I end up in Balanced or energy saving (from memory).

And now things are becoming strange. I wanted to test how long it takes until the energy profile falls back to energy saving and to which energy profile.
Today of all sudden Performance Mode keeps "Ultimative Performance" still active even over 1 min of keyboard inactivity.
Yesterday I had repeatedly the problem, that "Ultimate Performance" was not kept, although performance mode was on (see posting before). Not sure maybe it was in combination with backup or gaming mode.

I feare there is additionally an inconsistency in here otherwise it wouldn't behave so different.
The PL Pro config definitively didn't change from two days ago and today.
Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2

Jeremy Collake

I agree that manually induced Performance Mode should take precedence over any other power rules. That is now a planned change. Initially, it may be exposed as an option while we test it. I'll let you know when it's available.

The variance in how long it takes to drop back to balanced probably comes down to when new processes were created and triggered a re-check of the power rules.
Software Engineer. Bitsum LLC.

ranko

Xeon E5-1680v4 | Supermicro X10SRi-F | 64GB DDR4 ECC | MSI RTX4070 Ventus | X710-DA2 | Win10 Pro 22H2