Hi everybody!
I'm developping a skin to monitor everything possible on a PC using HWiNFO.
My problem/question is if there is a way to better optimize the skins. In one skin it is possible to show up to 16 graphs (for processor cores). But most of the time 1-3 graphs are used.
To do it I always load the same .ini template that contains all 16 graphs but only showing the specified quantity in the skin .ini
For me it is not optimized at all beacause even if not showned, they are loaded so if I want 15 skins on my screen with for each 16 graphs loaded it will kill performances usage of rainmeter...
The template is made so it can be called as much as needed in a "for loop" for exemple, but as I understand how rainmeter works, it is not possible?
I hope I am clear enough. I let you the "on working state" skin
It is currently March 29th, 2024, 10:41 am
Skin optimisation
-
- Posts: 2
- Joined: October 5th, 2020, 12:33 pm
Skin optimisation
You do not have the required permissions to view the files attached to this post.
-
- Posts: 92
- Joined: July 18th, 2020, 1:23 am
- Location: California
Re: Skin optimisation
First and aside, the skins visually look great; simple, proper spacing and not much dead space.
The first thing I would do for optimization is change the:
Update=100 on the six main skins and GlobalUpdateDivider=10 in variables.ini to
Update=1000 and GlobalUpdateDivider=1.
This changes the main update rate from every 1/10th of a second to every 1 second, which lowered my CPU usage of the six skins from 7% to 1%. Visually it does not seem to have any negative effect, should have the same effective result, and for this setup I think updating every second works fine.
The point you're talking about could be handled by disabling the measures that are not being used with Disabled=0 or 1, similar to how you are hiding the meters that are not being used with Hidden=0 or 1. So it looks like how you set the hidden states in graphTemplates.ini, disabling measures could be similar to that. Also, doing that would be proportionally beneficial to the user as the number of processors decreases, so I think it's worth doing.
The first thing I would do for optimization is change the:
Update=100 on the six main skins and GlobalUpdateDivider=10 in variables.ini to
Update=1000 and GlobalUpdateDivider=1.
This changes the main update rate from every 1/10th of a second to every 1 second, which lowered my CPU usage of the six skins from 7% to 1%. Visually it does not seem to have any negative effect, should have the same effective result, and for this setup I think updating every second works fine.
The point you're talking about could be handled by disabling the measures that are not being used with Disabled=0 or 1, similar to how you are hiding the meters that are not being used with Hidden=0 or 1. So it looks like how you set the hidden states in graphTemplates.ini, disabling measures could be similar to that. Also, doing that would be proportionally beneficial to the user as the number of processors decreases, so I think it's worth doing.
Last edited by Alex88 on October 17th, 2020, 10:59 pm, edited 1 time in total.
-
- Posts: 2
- Joined: October 5th, 2020, 12:33 pm
Re: Skin optimisation
Thank you, I'm trying to do it the most clean as possible yes. I still have to find a way to showw multiple muximum values when there is multiple max and units.
I did not expect modifying the update this way will make a so uge difference! Still 1sec update but wit 6% CPU saved.
I was not aware of "Disable" option thank you! That is a much cleaner way. A "for" would stay the best also if one day I want a 32 graphs CPU but I think that's the best we can do with Rainmeter.
I did not expect modifying the update this way will make a so uge difference! Still 1sec update but wit 6% CPU saved.
I was not aware of "Disable" option thank you! That is a much cleaner way. A "for" would stay the best also if one day I want a 32 graphs CPU but I think that's the best we can do with Rainmeter.