What “GPU-accelerated terminal” actually means
Every terminal released in the last decade claims GPU acceleration, which makes the phrase close to meaningless as a differentiator. It does mean something specific, though, and it is worth knowing what — mostly so you can tell when it will not help you.
The problem it solves
A terminal is a grid of cells. A large window is maybe 200 by 60, so 12,000 cells, each with a glyph, a foreground colour, a background colour and attributes. Redraw that on the CPU, one glyph at a time, at 120Hz while something is streaming output, and you are doing a lot of per-cell work in a loop — which is why older terminals visibly struggle when you cat a large file or scroll fast.
The GPU approach: rasterise each glyph once into a texture atlas, then describe the whole grid as data and let the GPU composite it. The CPU stops touching pixels and starts describing cells.
What the approaches have in common, and where they differ
- Alacritty uses OpenGL and needs OpenGL ES 2.0 or better.
- kitty uses OpenGL directly with no large UI toolkit underneath.
- WezTerm is GPU-accelerated with WebGPU front-end options and a fallback adapter.
- Windows Terminal uses a DirectWrite-based text layout and rendering engine.
- Electron-based terminals like Tabby and Hyper go through the browser engine's compositor, which is a different set of trade-offs.
- Cross Platform Terminal renders the entire grid in a single draw call.
The number that matters is not “does it use the GPU” but how many draw calls and state changes a frame costs. One call for the grid means frame cost is close to flat as the window grows, which is the thing you feel on a 4K display with several panes open.
When you will not notice
- Reading and typing. Nothing is redrawing; every terminal here is instant.
- Over SSH on a slow link — the bottleneck is the network, not the renderer.
- In a VM or over remote desktop without GPU passthrough, where you may land on a software rasteriser and lose the benefit entirely.
When you will
- Streaming output: build logs, test runners, an agent writing a long diff.
- Fast scrollback through a large buffer.
- Large windows, high DPI, and several panes redrawing at once.
- Ligature-heavy fonts, where glyph shaping is cached rather than recomputed.
If a terminal feels slow and it already claims GPU rendering, the cause is usually elsewhere: your shell prompt shelling out to git on every keystroke, an unbounded scrollback, or a font fallback chain scanning hundreds of families. Check those before changing terminals.