Quick answer: Pygame consuming 100% CPU when minimized? Event polling doesn't yield on minimize - use blocking event.wait while minimized.
Game minimized; CPU spikes; laptop fan spins.
Use event.wait
while minimized:
event = pygame.event.wait()Blocks until OS event. CPU drops to zero.
Or sleep
time.sleep(0.1) per iter. Crude; works.
Detect visibility
WINDOWFOCUSGAINED / WINDOWFOCUSLOST events. Toggle the loop mode.
“Minimized = idle. Idle loops should sleep.”
If your game runs unminimized for hours on player laptops, the idle CPU is a battery drain. Address it.