Reduce Browser's Energy Impact via implicit async scheduling delay
As of
Reduce your browser’s energy usage and CPU load by adding smart, invisible delays to script execution.
Web CPU Tamer introduces a lightweight, intelligent delay into the browser's task scheduling system. By doing so, it prevents web pages from overwhelming your CPU with tightly packed timers and animations — all without breaking any functionality.
This leads to:
This script replaces the browser’s built-in scheduling functions with optimized versions:
| Original | What it does |
|---|---|
setTimeout / setInterval |
Adds two micro-delays before each execution using queueMicrotask and MutationObserver. This lets the browser handle layout and paint cycles more gracefully. |
requestAnimationFrame |
Adds a subtle delay by measuring the time difference across animation frames and yielding execution until the browser is ready. |
clearTimeout / clearInterval / cancelAnimationFrame |
Fully respected and properly tracked, so cancelling still works perfectly. |
Under the hood, these replacements insert a two-stage implicit delay around scheduled tasks — just enough for the browser to breathe without making apps feel sluggish.
This script runs on all http:// and https:// pages, except direct links to file types like images or logs:
.txt, .png, .jpg, .jpeg, .gif, .xml, .svg, .manifest, .log, .ini
That means no interference with direct downloads, image views, or text-only pages.
| Browser | Status |
|---|---|
| Chrome / Chromium | ✅ Full support |
| Firefox | ✅ Full support |
| Edge | ✅ Full support |
| Brave | ✅ Special handling for YouTube |
| Safari | ⚠️ Mostly works, limited mutation timing accuracy |
Also works with:
CY Fung
🔗 GitHub Support Page
MIT License
You are free to use, modify, and redistribute.