News

Windows Terminal Text Rendering Revamp: 'We Were Wrong'

Windows Terminal Preview 1.13 is out with an updated settings UI design, a new "elevate" profile setting and a revamped text rendering engine, about which the dev team issued an apology.

Terminal users can now enable a new profile setting called experimental.useAtlasEngine to try out the new DxEngine-based "AtlasEngine" text renderer, instead of DirectWrite. An October 2021 pull request in the terminal's GitHub repo titled "Introduce AtlasEngine - A new text rendering prototype #11623" explains the idea.

"This commit introduces 'AtlasEngine,' a new text renderer based on DxEngine," it says. "But unlike it, DirectWrite and Direct2D are only used to rasterize glyphs. Blending and placing these glyphs into the target view is being done using Direct3D and a simple HLSL shader. Since this new renderer more aggressively assumes that the text is monospace, it simplifies the implementation: The viewport is divided into cells, and its data is stored as a simple matrix. Modifications to this matrix involve only simple pointer arithmetic and is easy to understand. But just like with DxEngine however, DirectWrite related code remains extremely complex and hard to understand."

Microsoft's Kayla Cinnamon, a program manager on the terminal team, introduced the v1.13 update in a Feb. 3 blog post, referencing a kerfuffle last summer about the team's decision to stick with the DirectWrite general purpose renderer when complaints arose about terrible performance.

Enabling AtlasEngine Preview
[Click on image for larger view.] Enabling AtlasEngine Preview (source: Microsoft).

"We were wrong," she said. "As such, we dedicate this experimental renderer to the community as an olive branch. We know we have so much more to learn, but we hope that you will accept our apology and understand we're humans behind this product with a capability and willingness to learn from our past mistakes. Thank you for sticking with us. We strive to make this an experience we can all learn from to not only improve ourselves, but to improve our product and delight you all."

The new AtlasEngine renderer is described as still being a work in progress, possibly unstable and missing features, but the team expects to improve it and make it the default upon reaching feature parity with the existing DirectWrite renderer.

As far as the updated settings UI design, it's now aligned with new Windows 11 style, using WinUI 2.6

The new elevate profile setting, meanwhile, lets users automatically launch a profile with elevated "Administrator" privileges.

Among other miscellaneous improvements are a customizable profile bell sound, new restoreLastClosed, exportBuffer and adjustOpacity actions, support for snap layouts in Windows 11 and more improvements, in addition to several bug fixes.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • VS Code 1.125 Adds Copilot Spend Meter After Billing Shock

    VS Code 1.125 adds in-editor visibility into additional Copilot budget usage as GitHub's AI-credit billing model continues to draw developer scrutiny.

  • TypeScript 7.0 RC Moves Microsoft's Go Rewrite Into the Mainline Compiler

    Microsoft's Go-based TypeScript rewrite has reached Release Candidate status, moving from a separate native-preview package into the regular TypeScript npm package while leaving some ecosystem-facing API work for TypeScript 7.1 or later.

  • Microsoft Highlights Visual Studio Live! Event Lineup and Longtime Developer Community Role

    A Microsoft MVP Blog post on Visual Studio Live!'s longevity arrives as the 2026 conference series continues with upcoming stops at Microsoft HQ, San Diego and Orlando.

  • Using Local AI to Cut Copilot Usage-Based Billing Shock

    After being gobsmacked by the new billing plan using almost all my monthly credits in one or two days, I tried pushing some Copilot-style coding work onto local models in VS Code. What I found was less "free AI" and more "pick your pain": cloud charges on one side, heavy local resource use and long waits on the other.

Subscribe on YouTube