What is this?
Skia is a complete 2D graphics library written in C++ for drawing text, geometries, and images, used as the rendering engine behind Chrome, Android, Flutter, and many other products.
Is this a standalone app or a library I embed in my own project?
It is a low-level C++ graphics library/engine meant to be compiled and linked into other software, not a standalone application.
How do I get it building?
You check out the source with Google's depot_tools (git-sync-deps), then use GN and Ninja to configure and build it, as described in the full build instructions linked from the README.
What tools do I need before building Skia?
Building Skia requires depot_tools, GN, and Ninja, plus a C++ compiler toolchain; the repo also includes Python and Go tooling for build/test scripts.
Is this easy to just drop into a small project?
No, it's a large, complex engine designed for big consumers (browsers, OSes, game/UI frameworks); building and integrating it has a real learning curve and no simple package-manager install.
Who typically uses Skia?
Primarily engineers building browsers, operating systems, game engines, and UI toolkits who need a fast, portable 2D rendering backend — it already powers Chrome, Android, and Flutter.
Does Skia use the GPU for rendering?
Skia supports GPU-accelerated rendering backends (such as via the Ganesh/GPU backend) in addition to CPU rasterization, though the README itself doesn't detail backend selection.
Why is Skia so widely used?
It's a battle-tested, highly portable 2D rendering engine already shipping in Chrome, Android, and Flutter, giving it broad platform support and heavy real-world optimization.
What can Skia render?
Text, geometric shapes, and images, forming the core primitives needed for 2D graphics and UI rendering.
Is Skia tied to a specific OS or platform?
No, it's designed to be cross-platform and is used across desktop, mobile, and web contexts (e.g., Chrome and Android).
What are similar projects?
bgfx, tinyrenderer, GPUImage, renderdoc, pixijs, Vulkan, ladybird, node-canvas
Which topics is it in?
rendering-engine, text, engine, computer-graphics, image, rendering, graphics, image-processing, bsd, c++, performance, android