Not long ago, a new feature made its way to Chromium (including Google Chrome and Microsoft Edge) that aimed to reduce CPU utilization and boost battery longevity. But this occlusion calculation and throttling feature can also cause problems for situations that don’t work when your browser puts a webpage or tab to sleep – such as using your web browser as your phone system.

For example, my company uses a web-based phone system for our contact centers around the world, using standard WebRTC protocol for the voice communications. However, this application relies on being in sync with communications to the server and cannot handle when the browser puts the tab to sleep.

When sleeping, a browser tab cannot execute code or respond to events, sometimes at all, or is throttled to only work on events once per minute or more.

Now, if you left this blog tab open and your browser suspended it for 60 seconds or more, not much would matter. This site doesn’t run any ongoing code when idle. But if this tab was your phone, 60 seconds or more of delay is plenty of time for the caller to give up or get routed to voicemail as the case may be. In our case it means our contact center would often miss incoming phone calls without ever even knowing a call was ringing in. Obviously not a great situation to say the least. Other impacted users include Slack users and more that wish for pages/tabs to update even when not in direct focus.

To make matters worse, the browser vendors (at least Google and Microsoft) have sometimes hidden the simple flag that could be used to disable browser occlusion calculation or throttling. Instead, users must disable it using a registry key (one which I hope continues to exist). This can be applied to fleets of computers using polices or deployment tools, but we’ve had to ask our work-at-home staff using personal unmanaged devices to install this themselves using a registry edit — a copy of which is available below.

To Disable Occlusion and Browser Throttling in Edge/Chrome

ℹ️ Hey before you do this, check edge://flags or chrome://flags and see if there is an occlusion setting you can disable there, which does the same thing as this registry edit. Also consider making an exception for just a specific site in the browser’s power saving/throttling settings, so you only lose performance and power efficiency for that one site and not all of them. If you disable it for all sites with the flag or registry change, you could negatively impact your system power usage or performance because background/minimized tabs can consume full CPU time. But if you want to do it anyway, here’s how:

  1. Copy the text below into Notepad and save it with a .reg file extension.
  2. Double click the file to import it to your registry.
  3. Restart your browser (or your PC, it could probably use a fresh bootup).
Windows Registry Editor Version 5.00

; Disables browser throttling and occlusion calculation for Chromium-based Edge and Chrome at the local-machine and current-user paths.

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge]
"IntensiveWakeUpThrottlingEnabled"=dword:0

[HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome]
"IntensiveWakeUpThrottlingEnabled"=dword:0

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Edge]
"IntensiveWakeUpThrottlingEnabled"=dword:0

[HKEY_CURRENT_USER\Software\Policies\Google\Chrome]
"IntensiveWakeUpThrottlingEnabled"=dword:0

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Edge]
"WindowOcclusionEnabled"=dword:0

[HKEY_LOCAL_MACHINE\Software\Policies\Google\Chrome]
"WindowOcclusionEnabled"=dword:0

[HKEY_CURRENT_USER\Software\Policies\Microsoft\Edge]
"WindowOcclusionEnabled"=dword:0

[HKEY_CURRENT_USER\Software\Policies\Google\Chrome]
"WindowOcclusionEnabled"=dword:0

If you ever need to reverse these changes, just delete the IntensiveWakeUpThrottlingEnabled or WindowOcclusionEnabled dword entries from your registry and the browsers will follow the default behavior.

1 Comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.