From its inception, Chrome’s core principles have been the four S’s: speed, security, stability, and simplicity. Those principles guide us in the way we build Chrome. The first S—speed—is what has driven us to make Chrome one of the most performant browsers out there, and we are constantly finding ways to improve.
Enterprise environments often have their own requirements when it comes to performance. In virtualized environments, where a lot of machine resources are shared, having a light footprint is key. Similarly, if your organization is using older hardware, you’ll need to make sure those resources are used as efficiently as possible. Even in environments that are less resource-restricted, you may have some power users who need to have lots of tabs open at the same time—they’ll want their browser to keep up. Here are some of the ways Chrome is optimizing browser performance, and some of the tools we provide to admins to fine-tune resource usage in environments that need it most.
How Chrome uses memory
One of Chrome’s great advantages is its multi-process architecture. Not only does that allow Chrome to keep going in situations where a single-threaded browser would have gotten stuck waiting for a task to complete, it also enhances security through Site Isolation. Chrome also tries to keep what a user is working on in memory so they can get back to it as quickly as possible. We don’t want users to be slowed down when there’s memory sitting idle on a device that could be used to make things faster.
Recent performance improvements
In recent releases of Chrome, there have been a variety of optimizations introduced to Chrome as part of our ongoing commitment to keeping Chrome super-fast and performant:
- CPU & power consumption / Memory usage: Tab throttling gives more resources to the tabs you’re using by taking them back from tabs that have been in the background for a long time.
- Speed: Our new Privacy Preserving Prefetch Proxy will allow opted-in clients to prefetch the top results from the search results page so that those pages load faster.
- Memory usage: Pointer compression allows Chrome to reclaim some of the memory that would have been wasted because of the switch from being a 32-bit process to a 64-bit process.
- Speed: Profile Guided Optimization helps optimize Chrome at compile time so that the code you use most often (for the most common tasks) runs faster.
Beyond the performance improvements that Chrome is making, enterprises can use policies to implement further improvements. Just note that each change has its own trade-offs, and defaults should only be changed after evaluation by an organization.
- Memory limit policy: You can configure the amount of memory that Chrome uses before the tab is removed from memory. The tabs don’t actually disappear, but the browser will need to do more work to re-display them if the user re-selects them. Note that Chrome by default will attempt to save memory if the amount of physical memory on the machine is detected as running low.
This can provide significant CPU and battery savings as detailed in this document. Note that this can break some functionality on some websites by causing certain actions to be delayed. A full restart is needed to ensure that all loaded tabs receive a consistent policy setting.
- Force Ephemeral profiles: Features like browser history, extensions and their data, and web data like cookies and web databases are not preserved after the browser is closed, which can lead to a faster experience. Note that since this is session-based, users will not retain data after they close Chrome, which could cause some end user disruption.
- DiskCacheSize: By default, Chrome sets the maximum size of the cache calculated as a percentage of available disk space. Setting this policy sets a limit of the cache size that Chrome will use which can be important for virtual machines with shared resources. It is recommended to have one order of magnitude between the total disk space (or the expected free disk space under normal conditions) and the disk cache size. For example, 10GB of disk space set the cache limit to 1GB.
CPU & power consumption
- Native window occlusion: By default, if a background window is covered by other windows, then Chrome will suspend work, painting the pixels to reduce CPU and power consumption. This is Chrome’s default setting, but you can turn this on or off via this policy.
Chrome has evolved numerous times since its launch and is continually being improved for better performance and user experience. Please check out the enterprise release notes (or sign up to have them delivered to your inbox) for updates on future performance improvements.
Source: Google Cloud Blog