Categories
Internet

How to improve Google Chrome performance on any System

Google Chrome is my favorite browser. It loads fast, is simple to use and supports the latest web technologies.

Unfortunately, it takes up a huge amount of both memory ALL the time it runs. It even takes up some when it is technically not running. The background processes persist (though you can safely disable or kill them). On systems with low memory it makes sense to improve Google Chrome performance by making it run lighter.

Improve Google Chrome performance - Make it great again!
Improve Google Chrome performance – Make it great again!

This is a fairly large post. You can skip to the sections from the table of contents herein.

You must have noticed your Google Chrome getting slower over time. You add apps and extensions and the resource footprint keeps increasing. Running multiple tabs slowly seem to tax the system far more than it used to do in the past. But there are ways to restore it to a reasonably light and fast state without installing one of the older, unsecure Google Chrome versions or its open source Chromium counterparts.

You can check the resource usage in your system by firing up the System Monitor (in Ubuntu) or Task Manager in Windows.

Google Chrome's own task manager will show its sub processes
Google Chrome’s own task manager will show its sub processes

15 Universal Tips to improve Google Chrome Performance

For these, you need to be brave enough to go and change the Google flags. Some of the results may cause instability. If you are working on something important, please finish it first. In the worst case, you may need to reinstall Chrome again.

Google Chrome Experimental features can be accessed as shown here
Google Chrome Experimental features can be accessed as shown here

To begin, get to chrome://flags

  1. Disable ‘Use a web service to resolve navigation errors’ – Web services take up memory. And processing power. If you don’t need it (and mostly you won’t) you can safely disable it.

Disable ‘Use a web service to resolve spelling errors’

Disable ‘Automatically send usage statistics and crash reports to Google’

  1. Uninstall high memory using extensions or Chrome apps

  2. Disable Notifications – I personally find this annoying. I prefer to get my updates from RSS/Atom feeds. If you don’t use this feature, feel free to disable it.
    chrome://flags/#disable-hyperlink-auditing
    chrome://flags/#enable-message-center-new-style-notification

  3. Nobody needs the policy tool. Disable it.
    chrome://flags/#enable-policy-tool

  4. Disable Virtual Reality services if you don’t plan to use them now.
    chrome://flags/#enable-webvr
    chrome://flags/#webxr
    chrome://flags/#webxr-gamepad-support
    chrome://flags/#webxr-orientation-sensor-device
    chrome://flags/#oculus-vr
    chrome://flags/#openvr

  5. If you are using a dedicated password manager (and you should), you can safely disable the Chrome’s password manager functionality.
    chrome://flags/#PasswordExport
    chrome://flags/#PasswordImport
    chrome://flags/#fill-on-account-select

  6. Throttle expensive background timers
    chrome://flags/#expensive-background-timer-throttling

  7. Disable Cloud Printer
    chrome://flags/#enable-cloud-printer-handler

  8. Disable Credit Card autofill
    chrome://flags/#enable-autofill-credit-card-ablation-experiment
    chrome://flags/#enable-autofill-credit-card-upload-editable-cardholder-name
    chrome://flags/#enable-autofill-credit-card-upload-send-pan-first-six
    chrome://flags/#enable-autofill-credit-card-upload-update-prompt-explanation
    chrome://flags/#enable-autofill-send-experiment-ids-in-payments-rpcs

  9. Disable Desktop to iOS promotions
    chrome://flags/#enable-desktop-ios-promotions

  10. Omnibox tab switch suggestions
    chrome://flags/#omnibox-tab-switch-suggestions

  11. Disable experimental touch enabled Fullscreen UI exit
    chrome://flags/#enable-experimental-fullscreen-exit-ui

  12. Enable parallel downloading
    chrome://flags/#enable-parallel-downloading

  13. Disable top websites in New Tab
    chrome://flags/#top-sites-from-site-engagement

  14. Disable Gamepad polling rate – disable only if not using Gamepads with Google Chrome
    chrome://flags/#gamepad-polling-rate

  15. Enable tab discarding – use this only if you have less than 4 GB or system memory.
    chrome://flags/#automatic-tab-discarding

Hardware Upgrades to improve Google Chrome Performance

I know this is a no brainer. But this is the easiest to resolve, provided you have the resources readily available.

These are the following :

  1. Install more memory – Do this if you are used to using Google Chrome on a system that has less than 4 GB of primary memory. You cannot expect a significant performance benefit if you have 2 GB even if you optimize almost everything.

  2. Get an SSD – Faster drives mean faster caches and faster IO.

  3. A decent graphic card will make the GPU rendering tasks easier on Chrome. But for strictly day to day purposes, the inbuilt solutions should work fine.

Adding memory is inexpensive and less of a hassle. The advantage you gain from adding memory will also cut across your requirement for improving Google Chrome performance.

Optimizing the way you use Google Chrome

This is the most inexpensive of all options. But they can be very effective if you are used to using lots of Google Chrome apps and extensions.

A standard user will use Google Chrome apps and extensions that are easily available and installable from the Web Store. They add a great deal of functionality and ease of use. What you sacrifice is performance.

Actually, the Google Chrome extensions are packaged as HTML and JavaScript packages. The difference between a website and an extension is that the extension runs all the time in the background, even when it is not in use.

You can easily check how much each of your extensions are using.

Go to Options > More tools > Task Manager

It may be so that you are using only a couple of tabs at a time. If you are running low on memory, you have three choices.

Shut the tabs down that you do not need

This frees up the memory. If the tabs are not responding, you can end the process from the Chrome Task Manager. You will lose all unsaved data in that case though.

Suspend the tabs that you are not using

This can be a separate topic in its own right. If you like a sophisticated approach where the extension helps you manage the tabs on its own, you will love The Great Suspender. It will automatically suspend the tabs that you are not using. You can add exceptions so that your YouTube tab is not suspended mid song.

Close and listify the tabs – all in one go.

One Tab is a more aggressive approach and does not do anything on its own. When you feel that your tabs have become difficult to manage, just click on the icon and the tabs will be spawned into a list. You can open or close each tab from the list when you like. This naturally is lighter and has a lower memory and CPU footprint and hence is my choice.

Installing One Tab can help you save a lot of memory
Installing One Tab can help you save a lot of memory

Replace extensions with bookmarklets and apps with Bookmarks

You can test this yourself. I will take my current Google Chrome browser version 69 with some extensions and applications installed. I will show the memory and processor usage for the sample before and after scenarios.

If you are using Windows you will have to rely on Task Manager or Process Explorer to get these tasks done. It might get a little tedious though.

I will be showing how I tracked the processor and memory usage in Ubuntu. But the premise should hold regardless of the operating system in use.

To set up the resource usage tracking, I recommend installing a couple of applications to make the whole task easier.

Install the package aha from the repository by

sudo apt install aha

Then follow with the command below:

Dump the Chrome Processes to a HTML file
Dump the Chrome Processes to a HTML file

This will dump the contents to a file named htop.html. Opening this up will give us the list of chrome processes and sub processes. We can then copy this to any spreadsheet and calculate the memory and processor usage at our convenience.

check the chrome process html
check the chrome process HTML

To make the process more platform independent, I have chosen Google Sheets. Any other spreadsheet capable of splitting text to columns will do just fine.

split text to columns in google sheet
split text to columns in Google sheets

After delimiting the columns, you may add a row to the top to better understand what is memory and what is processor usage. This is optional.

Columns are now showing fine
Columns are now showing fine

Freeze the top column, so that the header remains when we scroll down.

Put headers to the spreadsheet as shown herein
Put headers to the spreadsheet as shown herein

This is my performance metrics for Chrome alone. Note that the memory shown here includes virtual memory as well (swap in case of Linux).

Calculating the sum for processor and memory usage
Calculating the sum for processor and memory usage

Now let’s get to work getting things in order – Fixing Chrome

I will be following the steps that are applicable for me. You can search for the bookmarklet alternatives for the extensions and apps that you have. Some (like Evernote) have a reduced functionality. I can work with that. You have to decide how far you can go with this.

Reduce the clutter – installing One Tab

I installed One Tab. Clicking it just closed the tabs and put them as hyperlinks in a new tab.

Improve Chrome performance simply by reducing the number of tabs open
Improve Chrome performance simply by reducing the number of tabs open

This is obviously going to help.

The particular app tab here is also pretty basic but functional
The particular app tab here is also pretty basic but functional

To me I don’t particularly feel inconvenienced either. You can try The Great Suspender alternatively.

Remove extensions that have bookmarklet alternatives or make them bookmarks

Grammarly extension is removed

Ok. Making bookmarks is not a great alternative as you will have to navigate away from your current tab. But take Grammarly for instance. I don’t actually HAVE to have it run all the time and have access to everything I type. I will use it only for composing my mails for instance (I actually don’t use it at all).

Grammarly helps at time. But a bookmark will do.
Grammarly helps at time. But a bookmark will do.

So what do I do?

I bookmark it. Before I send a critical mail, I copy the text to Grammarly, have it checked and corrected. Then I paste it back to my mail body and hit send.

It is not very convenient. Yeah. If you are very grammatically uptight, you may have to keep the extension on. I will not.

Next in line in Infinity Tab

There are several such new tab extensions in the store. The best part is that with the latest Google Chrome updates, you may not actually need them. If you are okay with being a purist, you can go back to using the Apps new tab. This is how it looks like.

Inifinity Tab is way better than this
Inifinity Tab is way better than this

It is good, but not ideal.

Instead, you have more options to customize the default new tab in Google Chrome now.

Go to the options and customize the new tab page
Go to the options and customize the new tab page

In the bottom right corner of your page you will see an options icon. Click on it and change the background from a list of images Google has set for you. Or you can set one for yourself by using the ‘Upload an Image’ option.

Set a new background or your own custom image
Set a new background or your own custom image

This is how mine looks now.

I am happy with this. Infinity Tab is uninstalled.

Installing Pocket as a bookmarklet

Pocket is strictly not necessary for me since I often use Evernote anyway. But since it already has a bookmarklet advertised in their own website, I might as well mention it here.

Just drag the Pocket bookmarklet to your Bookmark bar from here and you are done.

Install the pocket bookmarklet and you are good to go
Install the pocket bookmarklet and you are good to go

Pocket extension is uninstalled.

Next in line is Evernote

Now, Evernote used to have a more popular Bookmarklet option previously. Unfortunately all major browsers came to support extensions. Hence on their web page you will only find options to install that. To get the bookmarklet javascript code you will have to dig deeper. If you are unwilling to do that, find it here.

drag evernote bookmarklet

Right click on the Bookmark toolbar of your browser and click on ‘Add Page’.

Enter the JavaScript code in here
Enter the JavaScript code in here

Then add this JavaScript code to it. Go to any page and click on it to check if it works. It will ask to login first.

javascript:(function(){EN_CLIP_HOST='http://www.evernote.com';try{var%20x=document.createElement('SCRIPT');x.type='text/javascript';x.src=EN_CLIP_HOST+'/public/bookmarkClipper.js?'+(new%20Date().getTime()/100000);document.getElementsByTagName('head')[0].appendChild(x);}catch(e){location.href=EN_CLIP_HOST+'/clip.action?url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title);}})();

This is enough functionality for me for now.

Evernote Bookmarklet in action. It's not perfect, but it works.
Evernote Bookmarklet in action. It’s not perfect, but it works.

I uninstall the Evernote extension and that rids me of the annoying context menu options as well.

Any.do is tricky

There are no bookmarklets that exist as of now or none that I could both trust and find. So a bookmark will just do.

Any.do is better off as only a bookmark
Any.do is better off as only a bookmark

Any.do extension is also now uninstalled.

My Google Chrome is now reasonably lightened. Let us check how it performs in comparison to the control we set earlier.

track google chrome performance after optimization
track google chrome performance after optimization

Dump the current chrome processes running to a new HTML file.

Copy the contents of this file to paste in a spreadsheet program of your choice. As before, I will be using Google Sheets. Convert the text to columns from the menu as shown before and add the header too.

open the html file with the usage dump
open the html file with the usage dump
text to columns in google sheet
Repeat the text to columns thingy in google sheets
Add a header to the sheet
Add a header to the sheet
Total processor and memory usage after Chrome optimization
Total processor and memory usage after Chrome optimization
Optional Step: Just to compare the before and after scenarios
Optional Step: Just to compare the before and after scenarios

You can already see the improvement here. This is not surprising, but more on that later.

I have created a new tab to just show the % improvement in processor and memory usage.

This is obviously optional.

Conclusion

Bear in mind that a regular user is likely to use more extensions and apps than I have. They are also more likely to have more tabs open at any given time. I used to. Back when I was not using One Tab.

Even then, the memory utilization fell by almost 65 percent. CPU usage fell by more than 20 percent. These numbers will increase if you are a heavier user of Google Chrome than I am.

But the bottomline is that, with some customization, tweaking and discipline, we can still get the best out of Google Chrome and keep it as fast and snappy as it was when you first downloaded it. Or something as close to it as possible.

To get a massive list of bookmarklets to get you started – check this link.

Good Luck and please keep sharing.

By Sarthak Ganguly

A programming aficionado, Sarthak spends most of his time programming or computing. He has been programming since his sixth grade. Now he has two websites in his name and is busy writing two books. Apart from programming, he likes reading books, hanging out with friends, watching movies and planning wartime strategies.

One reply on “How to improve Google Chrome performance on any System”

Leave a Reply

Your email address will not be published. Required fields are marked *