Skip to main content

Page cache and screen subscription

The runtime screen asks the server only for the values it shows. Pages you leave stay in memory for a while, so going back to them is instant and their values are already current. When memory runs low, the oldest pages are dropped.

Which values a screen receives​

  • The open page receives the values of its signals. When you change page, only the difference is requested; signals used on both pages, such as a menu bar, keep flowing.
  • A popup receives its values while it is open.
  • A signal list receives the values of the visible rows only.
  • A browser tab in the background stops receiving values after about 2 seconds and catches up when it comes back.

Pages kept in memory​

A page you leave stays in memory and keeps receiving its values, including alarm and command states. Its scripts, timers and blinking pause while it is hidden. When you return, the page appears at once with current values.

Memory use is checked every 30 seconds and on every page change. As it grows, pages are dropped in steps:

Memory useWhat happens (defaults)
Below Timeout threshold (90 %)All pages stay
From 90 %Pages not shown for Hidden page timeout (120 minutes) are dropped
From Recent-pages threshold (95 %)Only the 5 most recent pages stay ready; up to 20 older ones keep only their definition and are rebuilt on return
From Active-page-only threshold (98 %)Only the open page stays ready; 5 others keep their definition

When the hidden pages together receive more than Hidden page live tag limit (20,000) signals, the page hidden longest stops receiving values; on return its values are briefly old.

The same page opened with other parameters is kept as a separate page. A change of the page, the language, the theme or the user's rights drops the kept copy.

The Cache setting of a page​

In the page properties, Cache sets how a page is kept:

CacheBehavior
AutomaticFollows memory use (default)
Never (drop when hidden)Dropped as soon as it is hidden, for example a form whose half-filled values must not be kept
Always in memoryNot dropped after the timeout; still dropped at the two highest thresholds

Project settings​

Click an empty part of the page; Runtime › Page cache under the project settings holds the limits. Reset to default returns to the defaults.

SettingDefaultRange
Timeout threshold90 %50–99 %, below the recent-pages threshold
Recent-pages threshold95 %50–99 %, between the other two
Active-page-only threshold98 %50–99 %, above the recent-pages threshold
Hidden page timeout120 min1 or more
Hot page count51 or more
Warm page count201 or more
Warm count (high pressure)51 or more
Hysteresis3 points0 or more; a step is relaxed only this far below its threshold
Hidden page live tag limit20,0000 or more; 0 stops all hidden pages
Protected frequent pages50 or more; the most opened pages are kept until the highest threshold
Definition cache32 MB1–4,096 MB

Good to know​

  • On a computer that reports no memory use, up to 20 pages are kept.
  • A project with very many fast-changing signals uses less processor time with a lower Hidden page live tag limit.