Google Disables Microsoft's RAM-Saving Feature For Chrome On Windows 10

Google Chrome RAM hog

Google Chrome is a memory hog. The web browser can quickly eat RAM the longer it is run, and the more tabs are opened.

Microsoft Windows 10 version 2004 started allowing Chrome and Microsoft Edge browsers to use a lot less RAM. This is made possible as Windows 10 is giving apps, including Chrome, the access to the 'segment heap' API.

This allows apps to have reduced memory usage.

The company even boasted that on the May 2020 Update, Edge, which uses the same engine as Chrome, was using up to 27% less memory than without segment heap.

This saving was big enough for Google to take notice and adopt it for Chrome as well.

In a Chromium commit, the developers said that using segment heap over legacy heap on Windows 10 version 2004 "could save hundreds of MB in the browser and Network service utility processes, among others on some machines". But then saw that restricting memory consumption in Chrome will instead make the browser use much more CPU than normal.

For this reason, the developers of Chrome decided to turn off the feature by default in Chrome 85.

The CPU issue was first discovered by an Intel engineer who found that when Chrome used segment heap, it led to significant “performance regression” in other areas – particularly the processor.

Depending on the benchmark, CPU performance was degraded between 10% to 13%, Google found.

Microsoft acknowledges this, but defended the trade-off between memory and CPU.

"It is common practice to trade one resource for another. More often it's increased memory usage for reduced CPU usage. In this case it's increased CPU usage for dramatically reduced memory usage, or more accurately commit," wrote a Microsoft employee.

Reducing the impact on CPU would require "significant changes across the entire browser codebase", and Microsoft's Windows team is investigating whether it can improve the performance of segment heap.

"In the short term this is a good trade-off of one resource for another as memory/commit usage is a significant pain point for browser users," argued the Microsoft employee.

Chrome - memory hungry

With Microsoft's reasoning, Chromium developers still want to see more evidence about the the possible impact of Chrome's performance using segment heap.

"Although I have heard encouraging things about memory savings from lab tests I don't see any way for us to leave this enabled until we have clean telemetry data and lab tests on 20H1, neither of which will be happening in time for M85," wrote Chromium member Bruce Dawson.

"So, the plan is to disable this for M85 (thus giving us another telemetry datapoint) and reconsider in the future."

"The CPU cost (10% slowdown on Speedometer 2.0, 13% increase in CPU/power consumption) is too great for us to keep."

Chrome is the most popular web browser in the world, but it has been annoying and frustrating users for years due to how much memory it consumes. With segment heap, Microsoft claimed to have solved Chrome's memory hunger. But at this time, Chromium developers think that it would be wiser for Chrome to not use it.

Google cares about users' resources, but Chrome's hunger for RAM is the side effect of Google in trying to maintain all of Chrome's features and functionalities.

The researchers plan to run more tests. By saying that they will "reconsider in the future" means that future Chrome version will use it if there's a way for the feature to not impact CPUs too much.

On top of that, Google also claims that it is working on other optimizations for Chrome 85.

Published: 
21/07/2020