Another way, instead of using a timer, is to use CallSub(Main, "RefreshScreen") after display variable(s) are changed, but I've found that usually ends up doing either:
(1) too many refreshes, and the device bogs down under the CPU load, or
(2) too few refreshes, because you've been trying to fix problem 1, and now the screen still seems sluggish but for the opposite reason ;-/
My cheats-way-out of refreshing the screen regularly at ~5 Hz doesn't work for all use-cases though. But, for appropriate situations, it works super!!!
And for frequently-changing stuff like counters and statuses, then it both lowers the CPU load and makes the display more readable.