Google will start testing faster page navigation in desktop Chrome
Google rolled out a new feature in Chrome for Android last year, called Back-forward cache, which aimed to improve performance when using the back and forward buttons. Back-forward caching keeps pages in memory for a while after you go back, so if you need to return to the most recent page, load times are instant. The change seems to have been a success, as Google is starting to test it on desktop platforms.
Google Chrome 86, released in October 2020, added a feature flag for manually enabling Back-forward caching on desktop platforms. Before that point, the feature was only ever available on Android. Google has now published an ‘Intent to Experiment’ page on Google Groups (via Windows Latest), explaining that the feature will now be tested with small numbers of desktop Chrome users. If all goes well, the functionality will eventually be switched on for everyone.
“To reduce compatibility risk,” Chrome’s developers said in the post, “we will start with a cautious approach of not caching pages when faced with uncertainty (for example, when a page is using a non-trivial API like WebSocket). The only major developer-facing difference for pages stored in the back-forward cache is that unload() handler will not fire. However, this is consistent with Safari’s behaviour, which should minimize compat risk.”
Google didn’t mention why the feature has remained mobile-only for so long, but the delay could be due to memory usage. Chrome has often been criticized for its high memory usage on desktop platforms, and ‘freezing’ more pages likely won’t help. However, Google and Microsoft have been working on other changes to reduce memory usage in the Chromium engine, so the cost of Back-forward caching could be less noticeable at this point. Google also said last year that browser extensions could add extra complications on desktop platforms since many of them respond to changes in the current page.
Google will begin the tests with the release of Chrome 92, which is expected to arrive in the Beta channel on June 3rd and stable on July 20th.