GPU RENDERING

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.