You leave an idle game running in a background tab, come back an hour later, and the number is far lower than an hour of production should be. Or you close the tab entirely and come back to a neat “while you were away” popup with exactly the right amount. Those two behaviours come from completely different code paths, and knowing which one a game uses changes how you should play it.
Background tabs are throttled on purpose
Browsers actively slow down hidden tabs to save battery. Two mechanisms matter for idle games:
requestAnimationFramestops entirely. The animation frame callback is tied to the display’s refresh, and browsers simply do not schedule it for a tab you cannot see. A game whose production loop lives insiderequestAnimationFrameearns nothing in a background tab.- Timers get clamped.
setIntervalandsetTimeoutin a hidden tab are clamped to a minimum of about one second, no matter how short the requested interval. Chrome goes further with intensive throttling: after a tab has been hidden for several minutes, timers can be reduced to roughly one execution per minute.
So a game ticking at 60 times per second in the foreground might tick once per second in the background and once per minute after a few minutes of neglect. If its earnings are computed as “add X per tick,” that is a 60x and then a 3,600x reduction in income.
The fix: count time, not ticks
Games that handle this correctly do not accumulate per tick. They store a timestamp and compute the delta:
const now = Date.now();
const elapsedSeconds = (now - lastTick) / 1000;
resources += productionPerSecond * elapsedSeconds;
lastTick = now;
With this shape, it does not matter whether the tick fired 60 times or once. The elapsed wall-clock time is the same, so the payout is the same. The same code handles a closed tab: on load, compare the saved timestamp against the current time and pay out the gap.
This is why a genuine offline-progress game can be closed completely and still pay you, while a poorly built one quietly loses most of your background time. Clicker Hero states outright that it keeps going while you are offline, which is the behaviour you want — you can close the tab and return to banked gold rather than babysitting it.
Three things to test in the first five minutes
Before you commit an evening to an idle game, run this check:
- Note the resource total and the time.
- Switch to another tab for five minutes. Do not minimize, just switch.
- Come back and compare against what five minutes of production should have been.
If you got roughly the expected amount, the game is timestamp-based and background tabs are safe. If you got a fraction, keep it in a visible window. Then repeat the test with the tab fully closed to see whether offline progress exists at all.
Idle PinBall - Merge Clicker advertises that it runs without an internet connection, which is a good sign for the save architecture: a game designed to run offline is almost certainly storing state locally and reconciling on load rather than depending on a server tick.
Offline caps and why they exist
Almost every idle game that pays offline also caps it — commonly at 2, 4, 8, or 24 hours of production. Two reasons:
- Balance. Uncapped offline income makes the optimal strategy “close the game for a week,” which is a poor loop.
- Clock abuse. Timestamp math reads the device clock, so a player can move the system clock forward and collect. Caps limit the damage, and some games additionally refuse payouts when the elapsed time is negative or implausibly large.
The practical consequence: check in at the cap. If a game pays a maximum of four hours offline, logging in every four hours extracts far more than logging in once a day. If it pays 24 hours, daily is fine and checking in hourly is wasted effort.
Save storage and the tab you should not clear
Browser idle games store progress in localStorage or IndexedDB on the site’s own origin. That has a few real consequences worth knowing:
- Clearing site data or cookies for the domain wipes the save.
- Private/incognito windows usually discard storage when the window closes.
- A different browser, or a different device, is a different save. There is no sync unless the game explicitly offers an account or an export string.
If a game offers a save export, use it before any browser cleanup. That single text blob is the only portable copy of a run you may have spent hours on.
Matching the mechanic to your session
Once you know which model a game uses, you can pick the right one for the session you have. Timestamp-based games with generous offline caps reward short, spaced check-ins. Tick-based games reward keeping a visible window open and doing something else in another app. Active-click games like the ones in Idle Money Factory, where tapping the screen gathers money faster and triggers bonuses, reward sitting with it and are the worst fit for a background tab.
More of this genre lives in the clicker category.