Introducing Skia Graphite: Chrome's rasterization backend for the future

Introduction
- Skia Graphite is Chrome's new rasterization backend, designed to enhance performance and unlock future improvements in Chrome Graphics.
History of Skia in Chrome
- Skia is used in Chrome to render paint commands from Blink and the browser UI, but faced performance issues with the evolving web complexity.
- Ganesh was introduced as a GPU accelerated rasterization backend, but had limitations with specialized code paths and modern graphics API support.
Differences between Graphite and Ganesh
- Graphite is designed to leverage modern graphics APIs like Metal, Vulkan, and D3D12, while Ganesh was originally on OpenGL ES.
- Graphite uses 2D depth for clipping, while Ganesh maintained a clip stack.
- Graphite's API is multi-threaded by default, allowing for better performance optimizations with modern graphics APIs.
Current Challenges and Future Improvements
- Graphite aims to consolidate rendering pipelines to handle complex web content more effectively.
- Dynamic changes to Graphite recordings, like translations, can improve performance, especially for simple content.