Drawing Text Isn't Simple: Benchmarking Console vs. Graphical Rendering

Dev tries to make text fly; commenters cry “PhD‑level” and Macs wheeze

TLDR: A dev found GPU rendering speeds up Windows text, but fonts drawn by the CPU are the real slowdown; caching letters helps. Commenters called it PhD‑level, joked about Macs choking, and debated SDF and unclear units—proof that drawing text is weirdly hard and worth caring about.

A developer set out to build an old‑school, text‑based file manager and discovered the plot twist nobody expects: drawing plain letters can melt machines. Windows’ “modern” console mode is slower than the old one, Go tapped out, and C# with GPU power finally pushed frames—until fonts (still drawn by the CPU) slammed the brakes. The hack? Cache each letter as a picture, then copy fast. The catch? Flexibility takes a hit.

Cue the crowd. One commenter claimed the demo “almost crashed my M1 MacBook Pro,” dubbing this the Mac meltdown saga. Another declared it “an entire doctoral research project,” linking a deep dive on Microsoft’s terminal woes here. Meanwhile, the gamer brigade arrived: “Valve solved this in 2007,” pushing Signed Distance Fields (a way to render crisp text) with receipts from a great explainer here.

Then came the bench wars—“what are the units?”—as skeptics poked holes in the results and meta police shouted “repost!” The vibe: text is secretly hard, GPU helps, but fonts are the real boss fight. The community’s mix of PhD vibes, gaming nostalgia, and live‑blogged Mac pain turned a nerdy benchmark into pure drama, with memes about “draw a picture of text” flying everywhere.

Key Points

  • The author benchmarked text rendering for a Windows console-based file manager using console APIs, GDI, DirectX, and Vulkan.
  • Windows’ VT-mode console output (WriteConsoleW) was about half as fast as the older WriteConsoleOutputW method and provided weaker input state reporting.
  • Under realistic conditions (white on black, 240x63 characters), GPU paths (especially DirectX) delivered the highest measured results, while console APIs and GDI remained near the mid-60s (units not specified).
  • Windows font rendering proved CPU-bound and the main bottleneck; pre-rendering glyphs to textures and copying them significantly improved performance.
  • Direct text drawing enables further batching optimizations (e.g., drawing uniform-style runs), reportedly yielding large (around 5–7x) improvements in some cases.

Hottest takes

“almost crashed my m1 macbook pro (renders at 1 fps or something)” — krstffr
“an entire doctoral research project in performant terminal emulation” — 9999_points
“Valve had this problem solved since 2007” — bob1029
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.