Web browsers Comparison#
There are two main options for web browsers that can be considered in this context: Chromium and Cog.
One should consider the following criteria before choosing one of them:
Binary footprint
Build time
Licensing
Benchmark results
As for the first three of them:
Cog |
Chromium |
|
---|---|---|
Binary footprint |
74.5M |
272M |
Build time |
0.5h |
5h |
License |
MIT |
BSD-3-clause |
The binary footprint is a rough sum of the packages themselves and their most relevant (binary size wise) dependencies.
Benchmark#
Most of the following tests are normalized, except for PASS/FAILED-like results, or values as FPS. The higher the normalized result, the better.
Cog |
Chromium |
|
---|---|---|
Acid Test 1 |
PASSED |
PASSED |
Acid Test 2 |
PASSED |
PASSED |
Acid Test 3 |
0.98 |
0.97 |
HTML 5 Test |
0.75 |
0.95 |
Base Mark |
1 |
1.28 |
MotionMark |
1 |
1.8 |
Speedometer |
1 |
1.07 |
The following benchmarking websites were used:
Speedometer results for selected SOMs#
The following hard numbers have been gathered for mainly cog and chromium
sm2s-imxplus |
sm2s-imxmini |
sm2s-imxnano |
HP EliteBook 845 Notebook, Windows 10 |
|
---|---|---|---|---|
Chromium |
12.0 +/- 0.13 |
8.731 +/- 0.07 |
251 +/- 7.4 |
|
Cog |
16.2 +/- 0.20 |
11.1 +/- 0.15 |
9.04 +/- 0.13 |
not tested |
+ - chromium requires at least 1GB of RAM - tested version of the sm2s-nano only supported 512MB
Jellyfish test#
This test shows a 3D animation where jellyfishes spawn and swim around the screen with highly detailed movement. The FPS is dynamically tracked and the number of jellyfishes can be set by the user. The more jellyfishes, the lower the FPS.
Source: https://archibold.io/demo/jellyfish/
In host machine:
Cog |
Chromium |
|
---|---|---|
5 Jellyfishes |
60 |
60 |
500 Jellyfishes |
42 |
15 |
FPS Stability |
Stable |
Instable |
In iMX8 Mini board:
Cog |
Chromium |
|
---|---|---|
5 Jellyfishes |
27 |
NA |
500 Jellyfishes |
03 |
NA |
FPS Stability |
Stable |
NA |
Observations#
Cog has a good community support in Igalia’s repository, making it easier to find help with your issues
Chromium (with Wayland backend) was never actually built for iMX8, mostly because of issues with the used graphics library (iMX’s instead of Mesa)
The benchmarks were Cog is vastly outperformed evaluate features that aren’t particularly essential for embedded platforms, so they aren’t deal breakers
Cog comes close enough to Chromium in various aspects, and it can be considered a good choice considering aspects as support from the community, ease of development, lightweight binaries, straightforward setup, etc