The super speed Chrome/Chromium browser (updated 06-04-2018)
...or what power the browser hides under the hood.
Chromium is an open-source Web browser project started by Google, to provide the source code for the proprietary Google Chrome browser. Both works very fast, but I think only few people know what power is hidden in their configurations.
In my previous article I wrote about fine tunning the Chromium browser to get smooth youtube video playing on the Raspberry Pi platform. As you may know, the engineering approach in configuring can give very different results and the same parameters that runs perfectly on the first platform can give the opposite results on the another. It is very difficult to find a configuration that will give us a positive result in all cases. So, I will summarize the results of my hard work in this direction.
First we need to add extra flags to the browser startup command, therefore add the Chromium shortcut to the desktop, open it in the editor and find the line:
Exec=chromium-browser %U
Edit it like this:
Exec=chromium-browser --enable-native-gpu-memory-buffers %U
You can also add "--start-maximized" flag to start the browser in maximized window.
These steps can be easily done in the terminal:
1) cp /usr/share/applications/chromium-browser.desktop \
"$(xdg-user-dir DESKTOP)"
2) chmod +x "$(xdg-user-dir DESKTOP)/chromium-browser.desktop"
3) sed -i "s|Exec=chromium-browser|Exec=chromium-browser \
--enable-native-gpu-memory-buffers \
--start-maximized|g" \
"$(xdg-user-dir DESKTOP)/chromium-browser.desktop"
It is highly recommended to reset the settings to their defaults before entering a new configuration!
Open the settings page chrome://flags and enable following parameters:
- #ignore-gpu-blacklist
- #enable-fast-unload
- #enable-gpu-rasterization = Enabled
- #enable-tcp-fast-open
- #enable-zero-copy
- #num-raster-threads = 2
- #enable-tab-audio-muting
- #reduced-referrer-granularity
- #enable-async-image-decoding
- #enable-v8-context-snapshot
I tested the new Chromium (version 65.0.3325.181) configuration compared to it's default one and the Firefox browser (version 59.0.1). All browsers tested with the uBlock Origin extension by Raymond Hill.
Testing Hardware:
Benchmark results:
As you can see, the performance of the Chromium browser can be greatly improved through the advanced configuration. Like a grand piano plays a symphony in the hands of a professional, the Chromium browser is a platform that will give us many more amazing results.
Sergey Kovalenko (c)
Email: seryoga.engineering@gmail.com
Jeune diplômé en Informatique Industrielle cherche un CDI/CDD
7yHi, thanks for your suggestions. However, I have encountered some problems when trying to configure my Chromium browser according to these settings. I actually have a RPi 3 B+ and my browser version is: 60.0.3112.89 (Build de développement) Built on Ubuntu 14.04, running on Raspbian 9.4 (32 bits). In the list of settings to enable, the last five settings do not exist in my browser, which means: #navigation-mojo-response #enable-resource-load-scheduler #enable-async-image-decoding #enable-v8-context-snapshot #enable-parallel-downloading I've tried to update my browser but apparently it's the newest version on the RPi 3B+. So the question is: what will be de consequences without these settings? Moreover, I also noticed that in the previous article, you proposed to enable the setting #load-media-router-component-extension, but not in this article. Can I know why? Thank you in advance for your answer and thanks again.