Google has decided to disable a feature in Windows 10 version 2004 that allowed Chrome and Microsoft Edge browsers to use a lot less RAM.
Windows 10 gave Win32 apps including Chrome access to a 'segment heap' API to allow apps to reduce memory usage, but as Techdows spotted, Chromium engineers have decided for now to turn off the feature by default in Chrome 85 after discovering it has a negative impact on CPU usage. Chrome 85 should reach stable status in August.
Microsoft boasted last month that Edge on the May 2020 Update was using up to 27% less memory than without segment heap. Chromium developers adopted it for Chrome on Windows 10 2004 and later.
SEE: What to do if you're still running Windows 7 (free PDF) (TechRepublic)
The CPU issue was discovered by an Intel engineer who found that when Chrome used segment heap, it led to significant performance regression in benchmarks on a PC with an Intel Core i9-9900K processor. Depending on the benchmark, CPU performance was degraded between 10% to 13%, Google found.
Microsoft has defended the trade-off between memory and CPU but conceded it can be implemented better to reduce the impact on CPU performance.
"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.
SEE: Incognito mode detection still works in Chrome despite promise to fix
However, Chromium developers want to see more evidence about the possible impact of Chrome 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."