It is currently July 7th, 2020, 4:13 am

Update rates

Get help with installing and using Rainmeter.
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

Thanks, everyone. I have decided on the following scheme. I went with updating the TimeZone Measures (WebParser) every 12 hours.
2020-06-25_10h10_55.png
I am hoping this is now sorted out! Thanks for the help everyone.
You do not have the required permissions to view the files attached to this post.
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

Well - things are not updating based on my expectations, and I bet it is operator error.

Main Skin

Code: Select all

@includeMeasurements=#@#WeatherMeasures.inc
@includeTimes=#@#TimeMeasures.inc
@includeStyle=#@#Style.inc

[Rainmeter]
Update=600
DefaultUpdateDivider=500
OnRefreshAction=[!Delay 1000][!ShowMeter RetrievingTimes][!EnableMeasure MeasureTime1][!UpdateMeasure MeasureTime1]
OnUpdateAction=[!Delay1000][!EnableMeasure ChameleonDesktop][!UpdateMeasure ChameleonDesktop]
The ChameleonDesktop measure is in Style.inc.

When my wallpaper changes I expected the skin to adjust in 600*500+1000 but after 20 minutes I see no change.
nek
Posts: 22
Joined: November 3rd, 2019, 12:00 am

Re: Update rates

Post by nek »

ms310 wrote:
June 29th, 2020, 3:18 am
1. Do you really need Update=600 ? why not Update=1000.

2. 600 * 500 + 1000 = 5 minutes + 1 second.
ms310 wrote:but after 20 minutes I see no change.
3. found a typo. OnUpdateAction=[!Delay1000]

4. Remember that DefaultUpdateDivider applys ALL meters and measures, and it will be overridden by UpdateDivider in each meters or measures. DefaultUpdateDivider= -1 or 1 is better, 500 is too complicated.

The following topic is really helpfull for us. really appliciate.
How a skin is updated (by jsmorley) | https://forum.rainmeter.net/viewtopic.php?t=34774

5. How about appending the code OnUpdateAction=[!Log "#CURRENTSECTION# | Update" Debug] in [Rainmeter] section, all meters and all measures.

Code: Select all

[Rainmeter]
;Update=1000
Update=10000
DefaultUpdateDivider=1
DynamicWindowSize=1
AccurateText=1
;;;;Debug begin
OnUpdateAction=[!Log "#CURRENTSECTION# | Update" Debug]
;;;;Debug end

[MeterString1]
Meter=String
Text=Onet
X=0
Y=0
FontSize=16
SolidColor=FFFFFFFF
;;;;Debug begin
OnUpdateAction=[!Log "#CURRENTSECTION# | Update" Debug]
;;;;Debug end

[MeterString2]
Meter=String
Text=Twoson
X=0
Y=0R
FontSize=16
SolidColor=FFFFFFFF
UpdateDivider=2
;;;;Debug begin
OnUpdateAction=[!Log "#CURRENTSECTION# | Update" Debug]
;;;;Debug end
rm_about.png
6. What is the best update rate for skins? at least for me (6 month newbie as a skin creator).

Code: Select all

[Rainmeter]
Update=
DefaultUpdateDivider=-1
## Update=-1 (update once when the skin is loaded)
launcher, static panel, static wallpaper, search box, volume controller

## Update=100 (or less)
# UpdateDivider=1 | audio visualizer

## Update=1000 (1 sec)
# UpdateDivider=1 | digital clock, audio player
# UpdateDivider=2 | cpu performance
# UpdateDivider=5 | network stats, memory usage, gpu performance
# UpdateDivider=10 | disk usage, (calendar)

## Update=60000 (1 min)
# UpdateDivider=1 | battery stats
# UpdateDivider=1 & UpdateRate=10 for WebParser | weather, rss feed
Note: If the skin has lazy update rate, we need to use the [#VarName] instead of the #VarName# for dynamic variables.
Use the DynamicVariables=1 if needed.

Related:
DefaultUpdateDivider | https://docs.rainmeter.net/manual/skins/rainmeter-section/#DefaultUpdateDivider
Skin update every hour | https://forum.rainmeter.net/viewtopic.php?t=28548
Variables | https://docs.rainmeter.net/manual/variables/
Dynamic Cheat Sheet | https://docs.rainmeter.net/tips/dynamiccheatsheet/
You do not have the required permissions to view the files attached to this post.
Last edited by nek on June 30th, 2020, 1:44 am, edited 3 times in total.
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

I appreciate the help.

The debug line is helping a lot - thank you!
You do not have the required permissions to view the files attached to this post.
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

OK - I am really trying here - but I am seeing a WebPrser update every 6 minutes instead of 18:

SmallWeather.inc

Code: Select all

[Rainmeter]
Update=1000
DefaultUpdateDivider=360
AccurateText=1
WeatherMeasures.inc

Code: Select all

UpdateRate=3
2020-06-30_10h16_58.png
You do not have the required permissions to view the files attached to this post.
User avatar
jsmorley
Developer
Posts: 20995
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Update rates

Post by jsmorley »

ms310 wrote:
June 30th, 2020, 1:18 am
OK - I am really trying here - but I am seeing a WebPrser update every 6 minutes instead of 18:

SmallWeather.inc

Code: Select all

[Rainmeter]
Update=1000
DefaultUpdateDivider=360
AccurateText=1
WeatherMeasures.inc

Code: Select all

UpdateRate=3
2020-06-30_10h16_58.png
Please, please use this:

SmallWeather.inc

Code: Select all

[Rainmeter]
Update=1000
DefaultUpdateDivider=360
AccurateText=1
WeatherMeasures.inc

Code: Select all

UpdateDivider=1
UpdateRate=360
That's assuming you need the DefaultUpdateDivider=360 for other purposes on other measures or meters. If not, just delete that and the UpdateDivider=1 entirely. In any case, please DON'T control WebParser with UpdateDivider in any way, shape or form.

If you want 18 minutes and not 6, use UpdateRate=1080.
User avatar
jsmorley
Developer
Posts: 20995
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Update rates

Post by jsmorley »

This should not in any way encourage you to use UpdateDivider on a WebParser measure, but I did want to explain why you were getting the results in the log that you posted.

With the settings you had, the WebParser "measure" was being updated every 6 minutes; 360 seconds. That was triggering the log entry. However, the settings you had would only have the WebParser measure actually go out and do the work every time the UpdateRate was hit, or every 18 minutes. Every 3 times that the "measure" was updated. If you wanted to see how often THAT was happening, you would want:

FinishAction=[!Log "#CURRENTSECTION# | Update" Debug]

...on the WebParser measure. Looking at how often the "measure" is updated is misleading in this case. It's going to be updated "UpdateRate times" before it does anything.

Having said that, DON'T use UpdateDivider to control WebParser. Did I mention that?
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

jsmorley wrote:
June 30th, 2020, 1:27 am
Please, please use this:

SmallWeather.inc

Code: Select all

[Rainmeter]
Update=1000
DefaultUpdateDivider=360
AccurateText=1
WeatherMeasures.inc

Code: Select all

UpdateDivider=1
UpdateRate=360
That's assuming you need the DefaultUpdateDivider=360 for other purposes on other measures or meters. If not, just delete that and the UpdateDivider=1 entirely. In any case, please DON'T control WebParser with UpdateDivider in any way, shape or form.

If you want 18 minutes and not 6, use UpdateRate=1080.
OK - thanks JSMORLEY.

When I removed DefaultUpdateDiver from the SmallWeather.ini skin (the main skin) Rainmeter crashed. I tried this:

SmallWeather.ini

Code: Select all

[Variables]
@includeWeatherMeasures=#@#WeatherMeasures.inc

Update=1000
DefaultUpdateDivider=120
WeatherMeasures.inc

Code: Select all

UpdateRate=360
UpdateDivider=1 ; remove altogether

When I used UpdateDivider=1 in WeatherMeasures.inc I saw in the debug that the WebParser was updating every single second - so I quickly shut down Rainmeter and just removed it - but now WebParser is still updating every two minutes - it seems to be ignoring UpdateRate?

I am seeing this:

For the Main Skin - Smallweather.ini - update frequency = (Update X DefaultUpdateRate) ==> 1000x120 = 2 minutes

For the WeatherMeasures.inc skin - update frequency = (Update X DefaultUpdateRate) ==> 1000x120 = 2 minutes ignoring UpdateRate=360

Is it because the WebParser measures are in a different file, referenced by the main skin, so when DefaultUpdateRate is used it updates the WebParser measures regardless of the UpdateRate value?
ms310
Posts: 224
Joined: April 1st, 2015, 7:16 am

Re: Update rates

Post by ms310 »

Here is the Skin - it is a bit of a mess, sorry - it is a work in progress - but I wanted to make sure I am not missing something.
You do not have the required permissions to view the files attached to this post.
User avatar
jsmorley
Developer
Posts: 20995
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Update rates

Post by jsmorley »

I don't have all the stuff for your skin(s) but here is my advice:

Don't try to control WebParser measures with UpdateDivider at all.

Set Update=1000 in [Rainmeter]. Just pretty much ALWAYS set that. It should only be set lower than 1000 if you have a skin with animations or something that need a faster rate. It should almost NEVER be set higher than 1000.

That means the skin will be updated once a second, and that is good. It means that any UpdateDivider that you use on any measure EXCEPT WebParser measures, and the UpdateRate you use on WebParser measures, will equate to "seconds".

[Rainmeter]
Update=1000

[TimeMeasure]
Measure=Time
UpdateDivider=10
; This will update the time every 10 seconds.

[WebParserMeasure]
Measure=WebParser
UpdateRate=30
; This will cause WebParser to go out and do its work every 30 seconds.
; Note that the measure [WebParserMeasure] will be "updated" once a second, but that's good, that's what makes the UpdateRate work right.


Updating a WebParser measure does one thing, and one thing only. It "increments" a counter that is tracking UpdateRate by 1. When the measure has updated UpdateRate times the counter will equal UpdateRate, and will reset to zero and fire off the functionality.