It is currently March 29th, 2024, 5:59 am

Top processes issue

Get help with creating, editing & fixing problems with skins
User avatar
pul53dr1v3r
Posts: 442
Joined: July 30th, 2014, 10:30 am

Top processes issue

Post by pul53dr1v3r »

Hi. This time I'm having an issue using AdvancedCPU plug-in so that it doesn't display the results in the right order (most used processes from up-down). The top used processes should be at the top, but it isn't the case here.
Another thing is that the values of the CPU usage by a process aren't always different for only 1-2% compared to the ones in Task Manager, but occasionally quite a bit more.
Pls take a look at the code to see if everything's ok there:

Code: Select all

[MeasureMaxCPU]
Measure=Plugin
Plugin=AdvancedCPU
UpdateDivider=1

[MeasureTopName1]
Measure=Plugin
Plugin=AdvancedCPU
CPUExclude=Idle;[MeasureTopName2];[MeasureTopName3]
TopProcess=2
;UpdateDivider=2
DynamicVariables=1

[MeasureTopLoad1]
Measure=Plugin
Plugin=AdvancedCPU
CPUInclude=[MeasureTopName1]
;CPUExclude=Idle
MaxValue=[MeasureMaxCPU]
TopProcess=1
DynamicVariables=1
;UpdateDivider=2

[MeasureTopMem1]
Measure=Plugin
Plugin=Perfmon
PerfMonObject=Process
PerfMonCounter=Working Set - Private
PerfMonInstance=[MeasureTopName1]
PerfMonDifference=0
DynamicVariables=1
;UpdateDivider=2

;[""""""""""""""""""""""""""""""[[Meters]]""""""""""""""""""""""""""""""]

[MeterListTopName1]
Meter=String
MeasureName=MeasureTopName1
MeterStyle=styleLeftText
Text=%1
X=10
Y=40
W=60
ClipString=1

[MeterListTopTime1]
Meter=String
MeasureName=MeasureTopLoad1
X=104
Y=[MeterListTopName1:Y]
MeterStyle=styleCenterText
Text=%1%
Percentual=1
NumOfDecimals=1

[MeterListTopMem1]
Meter=String
MeasureName=MeasureTopMem1
X=199
Y=[MeterListTopName1:Y]
MeterStyle=styleRightText
DynamicVariables=1
Text=%1B
NumOfDecimals=1
Autoscale=1

;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::2

[MeasureTopName2]
Measure=Plugin
Plugin=AdvancedCPU
CPUExclude=Idle;[MeasureTopName1];[MeasureTopName3]
TopProcess=2
;UpdateDivider=2
DynamicVariables=1

[MeasureTopLoad2]
Measure=Plugin
Plugin=AdvancedCPU
CPUInclude=[MeasureTopName2]
;CPUExclude=Idle;[MeasureTopName1]
MaxValue=[MeasureMaxCPU]
TopProcess=1
DynamicVariables=1
;UpdateDivider=2

[MeasureTopMem2]
Measure=Plugin
Plugin=Perfmon
PerfMonObject=Process
PerfMonCounter=Working Set - Private
PerfMonInstance=[MeasureTopName2]
PerfMonDifference=0
DynamicVariables=1
;UpdateDivider=2

;[""""""""""""""""""""""""""""""[[Meters2]]""""""""""""""""""""""""""""""]

[MeterListTopName2]
Meter=String
MeasureName=MeasureTopName2
MeterStyle=styleLeftText
Text=%1
X=10
Y=55
W=60
ClipString=1

[MeterListTopTime2]
Meter=String
MeasureName=MeasureTopLoad2
X=104
Y=[MeterListTopName2:Y]
MeterStyle=styleCenterText
Text=%1%
Percentual=1
NumOfDecimals=1

[MeterListTopMem2]
Meter=String
MeasureName=MeasureTopMem2
X=199
Y=[MeterListTopName2:Y]
MeterStyle=styleRightText
DynamicVariables=1
Text=%1B
NumOfDecimals=1
Autoscale=1
Proof: https://youtu.be/ycyrzA_l3kM
Last edited by pul53dr1v3r on November 24th, 2017, 1:22 pm, edited 1 time in total.
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Top processes issue

Post by balala »

Pul53dr1v3r wrote:Another thing is that the values of the CPU usage by a process aren't always different for only 1-2% compared to the ones in Task Manager, but occasionally quite a bit more.
This difference can be caused by the fact that the Rainmeter skin updates once per second (unless you've set another Update value then the default). The moment of update probably doesn't match the moment when the Task Manager updates. This can cause some minor differences.
User avatar
pul53dr1v3r
Posts: 442
Joined: July 30th, 2014, 10:30 am

Re: Top processes issue

Post by pul53dr1v3r »

had it in my mind, but sometimes the difference is too big, while the Total CPU usage doens't jumps so high to justify the values given from the skin.
In this video, update time is the same:
https://youtu.be/VOhMmMNd9ns

And, why the processes aren't always sorted from the highest to the lowest by CPU usage?
User avatar
pul53dr1v3r
Posts: 442
Joined: July 30th, 2014, 10:30 am

Re: Top processes issue

Post by pul53dr1v3r »

The issues are solved adding the formula:

Code: Select all

DecimalAccuracy=1

[CalcMeasureTopLoad2]
Measure=Calc
Formula=Round((([MeasureTopLoad2] / [MeasureMaxCPU]) * 100),#DecimalAccuracy#)
DynamicVariables=1
and removing certain lines from the code such as: Percentual=1,MaxValue=MeasureMaxCPU and CPUInclude=...
so that the code for a single process looks:

Code: Select all

[MeasureTopName2]
Measure=Plugin
Plugin=AdvancedCPU
CPUExclude=Idle;[MeasureTopName1]
TopProcess=2
;UpdateDivider=2
DynamicVariables=1

[MeasureTopLoad2]
Measure=Plugin
Plugin=AdvancedCPU
TopProcess=1
CPUExclude=Idle;[MeasureTopName1]
DynamicVariables=1
;UpdateDivider=2

[CalcMeasureTopLoad2]
Measure=Calc
Formula=Round((([MeasureTopLoad2] / [MeasureMaxCPU]) * 100),#DecimalAccuracy#)
DynamicVariables=1

[MeasureTopMem2]
Measure=Plugin
Plugin=Perfmon
PerfMonObject=Process
PerfMonCounter=Working Set - Private
PerfMonInstance=[MeasureTopName2]
PerfMonDifference=0
DynamicVariables=1
;UpdateDivider=2

;[""""""""""""""""""""""""""""""[[Meters2]]""""""""""""""""""""""""""""""]

[MeterListTopName2]
Meter=String
MeasureName=MeasureTopName2
MeterStyle=styleLeftText
Text=%1
X=10
Y=55
W=60
ClipString=1

[MeterListTopTime2]
Meter=String
MeasureName=CalcMeasureTopLoad2
X=104
Y=[MeterListTopName2:Y]
MeterStyle=styleCenterText
Text=%1%
NumOfDecimals=#DecimalAccuracy#

[MeterListTopMem2]
Meter=String
MeasureName=MeasureTopMem2
X=199
Y=[MeterListTopName2:Y]
MeterStyle=styleRightText
DynamicVariables=1
Text=%1B
NumOfDecimals=1
Autoscale=1
Here are skins, one with the new and another (bottom) with the old code on the video. That was the difference I mentioned and not related with different refreshing time.
https://youtu.be/5JmdAIlw-Lk

Thanks anyway!
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Top processes issue

Post by balala »

Pul53dr1v3r wrote:

Code: Select all

DecimalAccuracy=1
Is this a valid option in Rainmeter? I never used it and couldn't find it in help.
User avatar
ikarus1969
Posts: 571
Joined: February 28th, 2011, 3:20 pm
Location: Vienna, Austria

Re: Top processes issue

Post by ikarus1969 »

DecimalAccuracy is a variable he used in the measure below (CalcMeasureTopLoad2)
User avatar
balala
Rainmeter Sage
Posts: 16110
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Top processes issue

Post by balala »

ikarus1969 wrote:DecimalAccuracy is a variable he used in the measure below (CalcMeasureTopLoad2)
Sorry, you're right, I didn't see this, probably because the [Variables] section name is missing. My fault...