한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game Lag White Paper › L2 Client OS and device

Throttling when the window is minimized or unfocused Minimized / unfocused window throttling

Cause ID co-unfocused · Primary owner Game team (Client development)

Open the interactive card with figures and simulations →

When you switch to another window or minimize the game, the game and Windows slow it down to save power. When you come back, the backlog of packets floods in, or you’ve already been disconnected.

Why Switching to another window with Alt+Tab, or minimizing the game → Effect While it isn’t visible, the game lowers FPS sharply or pauses, and Windows also lowers the priority of programs that aren’t visible → On screen Fast-forward the moment you return; a disconnect if the game stayed minimized for a long time

Symptoms
Fast-forward, Stutter, Disconnect
Factors
Stall
Who’s affected
Just me
When
During specific actions, After sitting idle
Owner
Primary owner Game team (Client development)
Game team action items
Keep receiving packets and sending heartbeats on a separate thread even when the window is hidden, check the engine’s “Run in background” setting, catch up to the latest state in one go on return.
Ballpark numbers
If FPS drops to 5–10 while the window is hidden, each frame takes 100–200 ms. A game that processes packets once per frame reads them that much later.
On the graph
Gap then burst · Frame interval (before and after switching windows), packets processed
Where to look
With PresentMon running, try Alt+Tab and minimizing, and look at frame intervals while the window is hidden. Log window focus changes in the game log and match them against disconnect reasons
Confirmed if
Frame intervals stretch past 100 ms or recording stops while the window is hidden, and the moment you return, the game processes the packet backlog all at once and fast-forwards. Left minimized for long, it disconnects on a heartbeat timeout
Ruled out if
Same behavior with the window in front: “Background processes taking up CPU” or the network side
Check with
The player’s own environment
Learn more
Windows 11 doesn’t guarantee a 1 ms timer for programs whose windows are minimized or fully hidden and not playing sound. On a laptop running on battery, it slows such programs to the most power-efficient speed, and on CPUs with mixed core types it may run them on the slower efficiency cores. If only the background one of two clients on the same PC misbehaves, also see “Background window throttling.”

Sources

  1. Quality of Service Microsoft
    Programs whose windows can’t be seen or heard get Low QoS and, on battery, are scheduled at the most efficient CPU speed and on efficiency cores
  2. timeBeginPeriod function (timeapi.h) Microsoft
    Windows 11 doesn’t guarantee a higher-than-default timer resolution to processes whose windows are hidden or minimized
  3. Application.runInBackground Unity
    Unity defaults to false, so the game loop stops when the window goes to the background
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    MsBetweenPresents: time between this Present() call and the previous one (ms)

See also

Same layer: L2 Client OS and device

Same symptom (Fast-forward), other layers

View the interactive card with figures and simulations