I uploaded a build of my browser game to a game portal and the upload analysis came back with a 2 GB memory warning. The game is a life sim with a rotating globe on the title screen, so I suspected the globe canvas.
Fix one, 11:10: moved the globe onto its own compositing layer. Fix two, 11:21: switched it to a software canvas. Fix three, 11:53: pulled the logo out of normal flow with position: absolute, so nothing overlapped the globe anymore. That one worked. Forty-three minutes, three pull requests.
The first two were guesses, because I kept shipping the next change before the analyzer had finished judging the previous one. The thing I should have done at 11:10 was wait for the result and then change one thing.
If you’ve fought a portal’s automatic checks, did yours ever blame the heavy thing when the cause was something sitting on top of it? The game is free in the browser: https://dumbgamelab.itch.io/one-life
Classic overlap trap. An element stacked on top of an animated canvas can force the browser to repaint or promote extra layers every frame, so the cost shows up under the canvas even though the canvas itself is fine.
Your takeaway is the real one though: one change per analyzer run. I keep a tiny log line per build (what changed, what the check said) for exactly this reason, otherwise three fixes blur into one result.

