Metal Rendering
Apple Metal GPU rendering. Glyph atlas. Dirty region tracking. Your terminal has never been this fast.
Questions this answers
- Terminal freezes with large output
- Why is my terminal lagging on macOS when catting large files?
- How to fix slow terminal rendering with lots of colored output
- VS Code terminal freezing lag fix
- Fastest GPU-accelerated terminal emulator for macOS 2025
How it works
Chau7 renders the entire terminal grid on the GPU using Apple's Metal API. Each visible character is looked up in a glyph atlas, a single GPU texture that caches pre-rasterized glyphs at the current font size and DPI. When a glyph is encountered for the first time it is rasterized by Core Text and uploaded to the atlas. Subsequent frames reference the cached texture coordinates, avoiding per-frame CPU rasterization entirely.
Dirty region tracking ensures the GPU only re-renders cells that actually changed since the last frame. When the parser updates the screen buffer, it marks a bounding rectangle of modified cells. The Metal render pass reads only those cells and composites them into the existing framebuffer. For a typical interactive session where a single line changes at a time, this means the GPU touches fewer than 1% of the total cells per frame.
The Metal pipeline uses instanced rendering: one draw call submits all visible glyphs as textured quads with per-instance color, position, and atlas coordinates. Background colors are rendered in a separate pass underneath. The result is a two-draw-call frame for any terminal size, regardless of how many unique colors or attributes appear on screen.
Why it matters
CPU-based terminal renderers redraw the entire screen on every update, which causes visible stutter when programs flood output. Chau7 renders with Apple Metal: a hardware-accelerated glyph atlas caches pre-rasterized characters, and dirty region tracking ensures only changed cells get redrawn. The result is smooth rendering even during massive output bursts. This is not marketing fluff. It is a measurably different experience.
Frequently asked questions
Does Metal rendering work on all Macs?
Yes. Every Mac shipped since 2012 supports Metal. Chau7 targets Metal 2 features available on Apple Silicon and recent Intel Macs, with automatic fallback to Metal 1 on older hardware.
How much GPU memory does the glyph atlas use?
The atlas starts at 1024x1024 pixels (4 MB for RGBA) and grows on demand. A typical developer font at 13pt requires roughly 2-3 MB for the full ASCII range plus common symbols. CJK or emoji glyphs are cached incrementally as they appear.
Can I disable GPU rendering?
There is no need to. Metal rendering uses less energy than CPU rendering because the GPU is purpose-built for textured quad compositing. In benchmarks, Chau7's Metal path draws fewer watts than a Core Text-based renderer at the same frame rate.