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