
"When Figma Design launched in 2015, most rich design tools were still native desktop apps. Betting on WebGL-a browser graphics API originally designed for 3D applications-was a bold move. WebGL wasn't widely used for complex 2D applications at the time, but Figma's team saw its potential to power a smooth, infinite canvas in the browser. That early bet on WebGL set the foundation for Figma's performance and real-time collaboration capabilities."
"In 2023, Chromium shipped support for WebGPU, the successor to WebGL. It allows for new rendering optimizations not possible in WebGL-for instance, compute shaders that can be used to move work off the CPU and onto the GPU to take advantage of its parallel processing. By supporting WebGPU, we could also avoid WebGL's bug-prone global state, and benefit from much more performant and clear error-handling."
"When we started the project to support WebGPU, Figma's engine already had an existing interface layer between higher-level rendering code and low-level OpenGL-but the interface mapped closely to the WebGL API. We had to implement several key improvements to modernize our interface and ensure that the transition to WebGPU would improve performance, not regress it."
Figma originally adopted WebGL to deliver a smooth, infinite canvas and real-time collaboration in the browser. Chromium's WebGPU support in 2023 introduced compute shaders and GPU-parallel capabilities that can offload work from the CPU, reduce reliance on WebGL's global binding state, and improve error handling. The upgrade required redesigning the rendering backend with a performance focus, modernizing an OpenGL-mapped interface, and making draw-call state explicit and WebGPU-like. The engineering effort preserved WebGL compatibility while adding WebGPU support and required careful rollout to avoid regressions and runtime breakages.
Read at Figma
Unable to calculate read time
Collection
[
|
...
]