Update Guide


Using Update, UpdateDivider and UpdateRate

The Update option in the [Rainmeter] section controls how often in milliseconds a skin should update the measures and meters. The UpdateDivider option on a meter or a measure allows you multiply the update interval for that specific meter or measure. By applying UpdateDivider correctly, it is possible to make your skins more efficient.

For example, UpdateDivider=5 on a measure would cause that meter to update only on every 5th update cycle. When Update=1000, the measure will update every (1000 x 5) milliseconds, which is equal to every 5 seconds.

By default, Update=1000 and UpdateDivider=1. The general formula for calculating the update interval of a measure or a meter in seconds is as follows: (Update x UpdateDivider / 1000).

In the example below, the skin's update interval is set to 1000 milliseconds (1 second). Since [MeasureCPU] does not have UpdateDivider set, it will default to 1. As a result, [MeasureCPU] will update once every second.

In contrast, [MeasureUser] has UpdateDivider=3600, as the user name is unlikely to change that often. As a result, [MeasureUser] will update once every 3600 seconds (i.e. once every hour).

[MeasureTotalC] has UpdateDivider=-1 set. When UpdateDivider is a negative number, the measure will update only once (when the skin is loaded or refreshed). Because [MeasureTotalC] measures the total space of the drive (which will not change), the it is safe to measure it only once.

[Rainmeter]
Update=1000

[MeasureCPU]
Measure=CPU

[MeasureUser]
Measure=Plugin
Plugin=SysInfo
SysInfoType=USER_NAME
UpdateDivider=3600

[MeasureTotalC]
Measure=FreeDiskSpace
Drive=C:
Total=1
UpdateDivider=-1

What about UpdateRate?

UpdateDivider is an option available to all meters and measures. UpdateRate, on the other hand, is only available with the WebParser and Ping plugins. For the purpose of this example, let us use a plugin measure using WebParser.

UpdateRate essentially states how often the WebParser should connect to the internet to download the specified URL. The general formula for this is in seconds is as follows: (Update x UpdateDivider x UpdateRate / 1000).

In the example below, [MeasureMailCount] has no UpdateDivider. As a result, UpdateDivider will default to 1.

Since [MeasureMailCount] has UpdateRate=1200 set, we can calculate that WebParser will download the page every 1200 seconds (or every 20 minutes).

[MeasureMailCount]
Measure=WebParser
URL=https://username:pasword@gmail.google.com/gmail/feed/atom
RegExp="(?siU)<fullcount>(.*)</fullcount>"
StringIndex=1
UpdateRate=1200

Generally, you want to use UpdateRate in place of UpdateDivider on a WebParser measure, not in addition to it. In some instances, using both can cause a "lag" between when the plugin is finished getting and parsing the data from the site, and when it is actually used and displayed in the skin.

Since WebParser connects to the internet, it is important to have a high enough "download interval". If you try to download a page too often (e.g. every second), you may end up causing a high load on the target site, which ultimately may cause the site to block all access from your computer. As a safety measure, UpdateRate has a default value of 600, or 10 minutes when Update=1000 and UpdateDivider is not set.