Chrome 89 increases desktop memory efficiency with PartitionAlloc


Enlarge / This week’s new Chrome build doesn’t look any different, but it introduces plenty of under-the-hood performance and efficiency improvements.

Google Chrome version 89 began rolling out to users in the stable channel on March 2 and should be on most people’s machines by now. The new build offers significant memory savings on 64-bit Windows platforms thanks to increased use of Google’s PartitionAlloc memory allocator. On macOS, Chrome 89 plays catch-up and gets closer to the performance of the flagship Windows builds.

Chrome on Windows

Google says use of RAM in 64-bit Windows is down up to 22 percent in the browser process, 8 percent in the renderer, and 3 percent in the GPU. The company also claims a 9 percent decrease in latency, meaning a more responsive browser. The improvements are largely due to intercepting malloc() calls with PartitionAlloc.

Chrome 89 has also gotten significantly more aggressive about discarding unused RAM. When you scroll resources such as large images off-screen in the foreground tab, Chrome discards the memory those resources used. The change impacts background tabs as well, resulting in a savings of as much as 100MiB per tab.

Chrome on macOS

Chrome 89 on macOS is still playing catch-up but now includes improvements to memory management on background tabs that other platforms have had for a while—Google says this means up to 8 percent RAM savings on macOS.

Tab throttling is also improved on macOS in build 89, with up to 65 percent better Apple Energy Impact scores on background tabs.

Chrome on Android

In theory, a developer only needs one APK for just about any Android device. In practice, resources tend to be very constrained on mobile—making the concept of packages tailored to an individual device’s capabilities much more attractive than it might be on beefier desktop or laptop systems.

Google has updated the Play Store itself to allow it to generate optimized APKs for a user’s specific device and has updated Chrome to take advantage of the new capabilities. Using these Android App Bundles and Isolated Splits, Chrome can launch with a significantly reduced initial codebase and dynamically load more features later as the user needs them.

A new feature called Freeze-Dried Tabs decreases startup time even further. Google describes Freeze-Dried Tabs as lightweight versions of those tabs about the size of a screenshot but supporting scrolling, zooming, and tapping on links. When opening Chrome, the initial display uses Freeze-Dried Tabs—getting you into the browser with some interactivity up to 13 percent faster.

Freeze-Dried Tabs in particular sounds like an enormous improvement over the usual mobile app practice of displaying a recent screenshot of the app while it loads, tricking users into thinking the app is loading much more quickly and smoothly than it really did—but offering no more actual function than if the app displayed a blank screen while it loaded.

Source link