Ekioh launches world’s first multithreaded embedded browser

2 mins read

A multithreaded HTML browser specifically designed for multi-core processors, known as ‘Flow’, has been developed by Cambridge software company, Ekioh.

“When the world was moving from SD to HD, Ekioh solved the problem of how to get a decent looking user interface (UI) onto HD TVs.” Stephen Reeder, Commercial Director, recalls. “We’re now at the beginning of the same problem with 4K TVs which currently use ‘upscaled’ HD displays, instead of reaping the benefits of 4K resolution.”

Traditional browsers vs Flow

Traditional browsers are single-threaded, meaning that they are only capable of using one of the four cores within a multi-core processor. Ekioh wanted to create a solution that could not only use the extra pixels 4K resolution offers, but also utilise all four cores to increase performance speed, and noticeably improve user experience.

Historically, browsers spend half their time working on layout tasks. Reeder explains that Flow takes a completely different approach. “We studied the ways the layout algorithms worked,” he explains. “Rather than processing the entire layout at once, like traditional browsers, we rewrote the algorithms, breaking the layout tasks into sections and processing them on individual threads.”

As a result, Ekioh says that Flow’s layout and animation performance is more than double the speed of other browsers on multi-core silicon, making it “ideal” for powering the UI on resource-constrained embedded consumer electronics, automotive and industrial systems. Flow also makes 4K UIs possible on next generation silicon.

The challenge was that none of this was possible to do with an existing browser. “Ekioh had to go back to the drawing board and create a solution completely from scratch,” Reeder adds. “We’ve created test cases and benchmarks for all the elements that go to make up a UI.”

“We had to look at the design of every single component in order to achieve this result. But, as we developed the technology, we were able to build these components into existing products. So we’ve been able to test most of the components in the market already. Flow was also subjected to 1000s of hours of automated testing. We’re very confident that it’s a robust product.”

Flow also uses the GPU in silicon in a unique way. “Most browsers don’t use GPUs very well,” Reeder contends, “rather than using it for its graphical processing capabilities, it’s simply a tool to move blocks of memory around.”

Whereas Flow makes full use of the GPU – rather than painting on the CPU, it handles all rasterisation on the GPU. The result is a “significantly faster” product and even more CPU power available for tasks such as layout.

“Within embedded silicon, GPUs are evolving as quickly as other elements of multi-core,” Reeder says, “by using the GPU for rasterisation it means every time a new chip comes out with new capabilities, our drawing will become faster.” Moving onto the GPU also removed the need for memory caching, offering a more memory efficient product.

Together, with multithreaded layout, these developments provide “dramatically improved” HTML performance without the need for content re-authoring.

“Our architecture is designed to work alongside the evolution of multi-core silicon,” Reeder concludes, “so as the chips get better, so does our technology.”