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
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
Quality of ServiceMicrosoft 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
timeBeginPeriod function (timeapi.h)Microsoft Windows 11 doesn’t guarantee a higher-than-default timer resolution to processes whose windows are hidden or minimized
Application.runInBackgroundUnity Unity defaults to false, so the game loop stops when the window goes to the background