With the release of the Windows 10 May 2020 Update (version 2004), Microsoft made improvements to the ‘Segment Heap’ feature in the OS and added support for desktop (Win32) programs like web browsers.
Segment Heap was also introduced for Chromium open source project and Google was planning to use this feature to fix the notoriously RAM-hungry Chrome browser. However, Google team have now decided to disable new Segment Heap implementation in the browser and they’ll now enable ‘ParitionAlloc-Everywhere’.
The paritionAlloc-everywhere feature is in development since August and it now seems to be making steady progress. According to one document, PartitionAlloc-Everywhere has its own benefits: reduced memory usage, allocators in Chrome and improved security.
This will Google Chrome to manage memory more efficiently resulting in lower RAM usage and it will also reduce the potential security issues at the same time.
The security of Google Chrome will be improved using ‘MiraclePtr’, which requires the PartitionAlloc.
The document where Google has highlighted the upcoming changes is currently private and it is hard to predict when Chrome will get necessary changes in Chrome, but more details could be shared in the first half of 2021.
Google to fix Chrome crashes
In addition to memory usage improvements, Google says tests have shown that Windows 10’s TerminateProcess feature could lead to fewer browser crashes if it used for more process types.
Google noted that exiting a process cleanly is difficult and expensive, especially with complex software.
Chrome has been gradually moving towards using TerminateProcess for more process types. The company has proposed a new change that will enable TerminateProcess in headless browsers, which could lead to fewer browser crashes.
“This will avoid some utility-process crashes on Windows. I think that applying this policy to all headless process types is a worthwhile experiment. TerminateProcess has helped a lot in many process types already,” explained Bruce Dawson, a Google software developer.
Google said that this feature will currently reduce shutdown crashes in headless Chrome only, which is a non-UI Chrome variant used for some specialized purposes.
“Shutdown crashes are less important than “regular” crashes, but we still try to avoid them. I hope to move this from headless to regular Chrome”, Google’s Bruce Dawson noted.
Both Microsoft and Google have agreed that reducing RAM usage in web browsers is important, but improvements like Segment Heap and ParitionAlloc will vary depending on your machine.
It’s worth noting that Microsoft has already enabled “modern heap implementation” to cut down memory usage and Edge team is working on another feature called ‘Sleeping Tabs‘ comes with additional improvements for memory management.