HomeArticles › Performance / Battery
Performance / Battery

Why Browser Games Drain Your Laptop Battery (and How Well-Built Ones Don't)

A laptop fan spinning up during a simple match-3 game is a sign of something specific going wrong in the code, not an unavoidable cost of playing a game in a browser.

Battery drain from a browser game is almost never about the graphics being demanding in any absolute sense. A visually simple game can drain a battery faster than a visually rich one, because the actual cost driver is how often and how needlessly the page forces the browser to do work, not how much is being drawn on screen at any single moment.

The Render Loop Is the Usual Culprit

Many browser games run a continuous render loop that redraws the screen on every available frame, typically synced to the display's refresh rate through requestAnimationFrame. This is correct and necessary while something on screen is actually moving. It becomes a battery problem when a game keeps that loop running at full speed during a paused menu, an idle title screen, or a tab that's sitting in the background unfocused, none of which need sixty redraws a second of essentially static content. A well-built game throttles or fully pauses its render loop the moment nothing needs to move, and the difference between a game that does this and one that doesn't can be substantial over an extended play session.

Background Tabs Should Not Behave Like Active Ones

Browsers expose the Page Visibility API specifically so a page can detect when its tab is hidden and reduce its own activity accordingly. A game that ignores this and keeps running its full simulation, animation, and audio processing in a backgrounded tab is spending battery and CPU on frames the player isn't even looking at. This is one of the more common and most fixable sources of unnecessary drain, because the fix is usually a single event listener rather than a deep architectural change, and its absence is one of the more reliable tells that a game wasn't built with much attention to runtime efficiency.

Why the Battery Status API Mostly Disappeared

For a period, browsers exposed a Battery Status API that let a web page directly query a device's current battery level and charging state, which in principle could have let a game respond intelligently to low battery by reducing its own effort. Major browsers largely withdrew practical access to this information, because a battery-level reading, combined with other signals, turned out to be usable as a way to help identify and track individual devices across the web without the user's knowledge, a fingerprinting technique researchers and browser vendors both flagged as a privacy risk. The practical result is that a browser game today generally can't check battery level directly, and has to rely on more indirect signals, like tab visibility and reduced-motion preferences, to behave more conservatively when it matters.

WebGL and Canvas-Heavy Games Carry a Real Cost, But Not an Unavoidable One

3D and shader-heavy browser games do use more GPU power than simple DOM-based games, and that's a real, physical cost that no amount of clever coding fully erases. But even within that category, there's a wide gap between a game that renders only what's visible and one that continues rendering off-screen elements, unused particle effects, or excessive overdraw from stacked semi-transparent layers. A demanding game built carefully can be lighter on a battery than a simple-looking game built carelessly, because the actual GPU cost is driven by how much unnecessary work is happening per frame, not by the visual complexity a player perceives.

What a Player Can Actually Do About It

Beyond simply closing tabs that aren't being played, a player has limited direct control over a specific game's efficiency, since the render loop and visibility handling live entirely in code they can't change. The signals worth noticing are practical ones: a fan spinning up during a visually simple game, or a laptop staying warm with a game merely open in a background tab, both point to a page that isn't pausing itself when it should. Those are reasonable, observable signs of a poorly optimized game rather than an inherent cost of browser gaming as a category.