Most people will use Chromium on Raspberry Pi boards simply because it’s now the default browser in Raspberry Pi OS. But the performance may not be optimal, and UK-based Ekioh has developed the Flow Browser optimized for performance on Raspberry Pi with multi-thread support and 3D accelerated graphics.
There’s a caveat though, as the Flow Browser has been developed from the ground up, i.e. not based on Webkit or Mozilla Engine, with human-machine interfaces (HMI) in mind, rather than individuals browsing the web, and that means that while performance will be better, site compatibility does suffer at this point in time.
Key features in Flow Browser
Before going into benchmarks and other tests, let’s check some of the key features listed for Flow Browser:
- HTML & CSS3CSS – Animations and Transitions, CSS Transforms (2D and 3D), CSS Flexbox, Bi-directional text layout
- Graphics – Web Fonts – Canvas, SVG & WebGL
- Media – HTML5 Audio & Video tags
- Scripting and Storage – ECMAScript with JIT (SpiderMonkey), Web Storage, and Web SQL
- Web Workers & Web Sockets – NPAPI plugin support
- Works with Linux, Android, Windows, and other OSs
- Integration into STB vendors’ APIs and OpenGL ES
- SDKs with example ports
- Sample GStreamer integration for Media APIs
- Resource Requirements – Smooth animations from a GPU-enabled processor with just 1K DIMPS
- Content Development
- Inbuilt content analysis and debug tools
- Linux, macOS and Android desktop builds for off-target content development
- Regular Updates – Improving site compatibility and feature set
So it’s not exclusively for Raspberry Pi but also other embedded platforms with a web-based graphical interface such as set-top boxes, controller and others.
Benchmarks and site compatibility
We asked the company to run some tests and benchmarks for us. First starting with html5test.com score being 332 points for Flow compared to Chromium’s 471 on the Raspberry Pi 400. Ekioh explained that some of the features of a standard web browser may not be needed for HMI use cases. It’s not too bad as sites like the Guardian, Wikipedia, Twitter, The Register can apparently render just fine, and so is CNX Software.
All benchmarks below were run on a Raspberry Pi 400 keyboard PC connected to HDMI monitor set to 1920×1080 resolution and the browser window set to full screen, and browsers using default settings:
- MotionMark 1.1 – Overall test of different graphics techniques that uses some random pattern generation so test results can fluctuate. Average of 3 runs (larger is faster):
- Chromium – 6.24, 8.04, 7.13: Average = 7.14
- Flow – 11.83, 11.70, 12.27: Average = 11.93
- Particle Acceleration – Heavy graphics animation
- Chromium – 15 fps
- Flow – 26 fps
- Sinz Maze
- Chromium – 80.25 tiles per second
- Flow – 127.16 tiles per second
- CraftyMind GUIMark HTML4 Test – Heavy use of layout (needed to average the running score by eye as the benchmark’s test button is broken)
- Chromium ~ 25 fps
- Flow ~ 58 fps
- Chromium – 49.912
- Flow – 51.295
- UI Layers – Ekioh’s own layout benchmark that varies the amounts of text being laid out to converge on 30 frames per second, higher scores are better.
- Chromium – 4
- Flow – 22
All benchmarks are graphics-intensive to show Flow’s edge, except for JetStream which shows similar results compared to Chromium. So Flow really shines in the rendering of text and 3D graphics, which makes sense since it’s optimized for HMI. I did ask for SpeedoMeter 2.0, but results were not provided.
The company told CNX Software that the main differences between Flow and other browsers are multithreaded layout and GPU rendering:
The former is what makes Flow so much faster in the CraftyMind and UI Layers benchmarks which are layout dominated. On the Pi’s quad-core processor, Flow is able to layout 4 times as much text as a Chromium which has single-threaded layout.
The latter (GPU rendering) accounts for Flow’s increased performance on the Particle Acceleration, Sinz Maze and MotionMark benchmarks.
Trying out the Flow Browser
Please note that the Flow Browser is not an open-source project, but you can try it for free on Raspberry Pi as Ekioh has just released a preview image with the Flow Browser based on Raspberry Pi OS. It’s free for personal use, but you can not use it for any commercial purpose unless you obtain a commercial license from the company.
You may be able to find additional information on the product page.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.