microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
94.73k stars 8.2k forks source link

AtlasEngine: Text rendering differences between Direct2D and Direct3D #15359

Open lhecker opened 1 year ago

lhecker commented 1 year ago

The Direct3D based text renderer is the default, but the Direct2D based on is used when the device has a GPU without support for shader model 4 (usually GPUs below feature level 10.1), or no GPU at all (for instance when connecting to headless, GPU-less servers over RDP).

In that case the following differences occur, because the Direct2D text renderer is less feature-complete:

ValeZAA commented 1 year ago

Does it mean ▁▂▃▄▅▆▇█ should look like ▁▂▃▄▅▆▇▇ because otherwise it is leaking? That is indeed how it looks like in Directx3D AtlasEngine, last two symbols look the same.

lhecker commented 1 year ago

Yes, this was made intentionally to fix the overlap issue, as seen in the GIF above. But we're now thinking about reverting that change, because it leads to other issues like this: https://github.com/microsoft/terminal/issues/15489#issuecomment-1573398827

ValeZAA commented 1 year ago

No. You are correct, glyphs should be hard bounded.

ValeZAA commented 1 year ago

No. You are correct, glyphs should be hard bounded.