Browsers can save huge amounts of memory by using graphics techniques from the gaming industry. Using the GPU, Ekioh’s Flow browser delivers smooth high performance animations without the need for memory hungry cached bitmaps.
Using accelerated compositing, Blink and WebKit consume tens of megabytes of cached bitmap memory when performing full screen animations and over one hundred megabytes at 4K resolutions. By grouping parts of the rendered screen into layers and manipulating them independently, high animation frame rates are achievable, but at the expense of memory consumption.
For HD resolutions each layer can be up to 8.3MB in size which increases to 33.2MB at 4K, so it’s easy to see how the consumption figures quickly add up. With memory prices continuing to be significant in overall product costs, it’s time for change – particularly for consumer electronics and embedded systems where cost pressures are most acute.
Taking ideas from the gaming industry, Ekioh’s Flow browser uses GPU rasterisation instead of accelerated compositing to achieve high animation frame rates, without the excessive memory consumption.
Flow’s GPU rasterisation repaints the whole screen for each frame. It may sound counter intuitive that increased performance can be achieved in this way, but GPUs are faster at rendering than CPUs are at working out which parts of the screen need to be updated. Using GPU rasterisation rather than relying upon the manipulation of cached layers has the added benefit that hardware accelerated animations can be more dynamic. This opens up the possibility for richer looking UIs with smoother animations and lower memory consumption.
The key to implementing a highly efficient browser based GPU rasterisation design is to focus solely upon the HTML use case rather than seeking to develop a more generic graphics library that trades performance for flexibility. The Ekioh technical paper “An optimal browser design for GPU utilisation”, contrasts rendering techniques and demonstrates that using a focused approach can more than double browser rendering performance.
Almost all modern multi-core silicon designed for the consumer electronics marketplace includes a GPU. With the double benefits of improved rendering performance and reduced memory consumption, Flow’s GPU rasterisation represents a step change in browser design.