Intel Has Been Working On A Fast 2D GPU Renderer Focused On Web Content
Intel's open-source developers have been working on a GPU-based high-performance 2D renderer that can be nine times faster than Cairo's CPU-based renderer and still multiple times faster than Qt (even with OpenGL), Cairo with OpenGL, or even Google's Skia with OpenGL rendering. The focus of this new project, FastUIDraw, is ultimately for speeding up the rendering of web content and being able to accelerate all of the HTML5 canvas operations.
I only heard of FastUIDraw when going over the schedule for this month's XDC2016 conference. FastUIDraw will be presented by Kevin Rogovin of Intel Finland.
FastUIDraw is designed to be a 2D renderer only running on GPUs (i.e. no CPU fallback) and its design makes it portable across 3D APIs. Currently FastUIDraw mandates OpenGL 3.3 while there is optional support for some OpenGL 4 extensions for better performance. For mobile there is a OpenGL ES 3.0 back-end that can optionally make great use of GLES 3.1 / 3.2 extensions. It's also possible that FastUIDraw could pickup a Vulkan back-end for potentially even faster rendering.
FastUIDraw aims to implement all features needed for supporting an HTML5 Canvas 2D context and all features need by the Blink/WebKit graphics context.
Some early benchmark figures as shown in the XDC program notes show it running at 9.2x the speed of Cairo's CPU renderer and much better than all other Cairo/Qt/Skia options.
While FastUIDraw is still in early stages of development, it sounds quite interesting and could be promising for faster rendering of WebKit/Blink web content and potentially other 2D use-cases too. The code to FastUIDraw is hosted via 01.org on GitHub.
I only heard of FastUIDraw when going over the schedule for this month's XDC2016 conference. FastUIDraw will be presented by Kevin Rogovin of Intel Finland.
FastUIDraw is designed to be a 2D renderer only running on GPUs (i.e. no CPU fallback) and its design makes it portable across 3D APIs. Currently FastUIDraw mandates OpenGL 3.3 while there is optional support for some OpenGL 4 extensions for better performance. For mobile there is a OpenGL ES 3.0 back-end that can optionally make great use of GLES 3.1 / 3.2 extensions. It's also possible that FastUIDraw could pickup a Vulkan back-end for potentially even faster rendering.
FastUIDraw aims to implement all features needed for supporting an HTML5 Canvas 2D context and all features need by the Blink/WebKit graphics context.
Some early benchmark figures as shown in the XDC program notes show it running at 9.2x the speed of Cairo's CPU renderer and much better than all other Cairo/Qt/Skia options.
While FastUIDraw is still in early stages of development, it sounds quite interesting and could be promising for faster rendering of WebKit/Blink web content and potentially other 2D use-cases too. The code to FastUIDraw is hosted via 01.org on GitHub.
21 Comments