Improving HTML browser layout performance

Ekioh’s Flow browser exploits the benefits of multi-core. HTML layout performance is dramatically improved by using multithreading to distribute page layout across all the processor cores.

Layout can account for as much as half of an HTML browser’s overall activity so focusing on this area has a significant performance advantage.

To unlock the performance of multi-core silicon, the layout task needs to be split into multiple, smaller, activities which can be executed in parallel. The speed of a multithreaded solution is limited by the duration of the longest task, so a fine grained architecture where activities are as small as possible is optimal.

The CPU intensive operation of laying text out in paragraphs is particularly suited to parallel execution. On a page of text, nothing in one paragraph affects the word wrapping of the others, just their vertical position. This means that the layout task can process multiple paragraphs simultaneously, which significantly reduces the overall time.

The flexibility of HTML and CSS makes layout more complex than just word wrapping text. Even tasks that may appear simple, such as laying out a table where the widths of the columns are not always known upfront, present added challenges in the multithreaded environment.

Ekioh’s Flow browser delivers significantly improved performance. Solving the problems of multithreaded HTML, Flow cuts layout times by up to 60% on quad core silicon.

Further details on Ekioh’s Flow browser and its performance results can be found in the Ekioh technical paper “Designing a browser to benefit from multi-core silicon”.

More about Flow…

If you’d like to automatically receive our posts by email please join our mailing list.