Google yesterday lifted the lid on their work around Skia “Graphite” as a new rasterization back-end designed for modern graphics APIs like Vulkan and supporting multi-threading by default. Skia Graphite aims to deliver much better performance within the Chrome/Chromium web browser.
Chrome uses Skia for rendering and its “Ganesh” rasterization back-end has been showing its age. Skia Ganesh was designed around OpenGL and thus doesn’t pair well with modern graphics APIs and has experienced various limitations in recent years. Skia Graphite is a fresh take designed around modern graphics APIs like Vulkan, Metal, and Direct3D 12. Graphite is also multi-threaded by default.
At the moment Chrome is just using Skia Graphite in Chrome for Apple Silicon Macs but the results so far are looking quite promising:
“With Graphite in Chrome, we increased our Motionmark 1.3 scores by almost 15% on a Macbook Pro M3. At the same time, we improved real world metrics like INP (interaction to next paint time), LCP (time to largest contentful paint), graphics smoothness (percent dropped frames), GPU process malloc memory usage, and others. This all means substantially smoother interactions, less stutter when scrolling, and less time waiting for sites to show.”
Skia Graphite also has more plans still going forward for enhancing the multi-threaded rasterization, reducing GPU memory use for simple content, and GPU compute path rasterization.
Those wanting to learn more about this Skia Graphite work for Google Chrome can do so via the Chromium.org blog.