Residual pixels remain when overwriting half-block characters via partial WriteConsoleOutputW in conhost.exe #23259

Open
opened 2026-01-31 08:37:04 +00:00 by claunia · 4 comments
Owner

Originally created by @ThomasKjoernes on GitHub (May 17, 2025).

Windows Terminal version

No response

Windows build number

No response

Other Software

No response

Steps to reproduce

See attachment

conhost_halfblock_artifact_report.txt

Expected Behavior

See attachment

Actual Behavior

See attachment

Originally created by @ThomasKjoernes on GitHub (May 17, 2025). ### Windows Terminal version _No response_ ### Windows build number _No response_ ### Other Software _No response_ ### Steps to reproduce See attachment [conhost_halfblock_artifact_report.txt](https://github.com/user-attachments/files/20259878/conhost_halfblock_artifact_report.txt) ### Expected Behavior See attachment ### Actual Behavior See attachment
claunia added the Needs-TriageIssue-BugNeeds-Attention labels 2026-01-31 08:37:04 +00:00
Author
Owner

@DHowett commented on GitHub (May 17, 2025):

I see you left the Windows version out when you filled out the bug template. This makes it impossible to triage conhost issues. :(

@DHowett commented on GitHub (May 17, 2025): I see you left the Windows version out when you filled out the bug template. This makes it impossible to triage conhost issues. :(
Author
Owner

@DHowett commented on GitHub (May 17, 2025):

Your assessment is correct, FWIW: conhost prefers monospaced fonts which conform to their M-width and the calculated cell height. Fonts with glyphs that go outside of those boundaries will always cause some amount of artifacting.

In recent version of conhost this behavior is improved for X axis spreading, but we still don't invalidate a larger vertical region than necessary.

We have no per-glyph damage tracking.

We are unlikely to add per-glyph damage tracking to the GDI engine.

Atlas (UseDx=2) solves this issue completely, but is not built into conhost on any version of Windows. You can try it by getting OpenConsole from one of the terminal release archives.

@DHowett commented on GitHub (May 17, 2025): Your assessment is correct, FWIW: conhost prefers monospaced fonts which conform to their M-width and the calculated cell height. Fonts with glyphs that go outside of those boundaries will always cause some amount of artifacting. In recent version of conhost this behavior is improved for X axis spreading, but we still don't invalidate a larger vertical region than necessary. We have no per-glyph damage tracking. We are unlikely to add per-glyph damage tracking to the GDI engine. Atlas (UseDx=2) solves this issue completely, but is not built into conhost on any version of Windows. You can try it by getting OpenConsole from one of the terminal release archives.
Author
Owner

@ThomasKjoernes commented on GitHub (May 17, 2025):

Windows 11 23H2 22631.5335

Thomas

lør. 17. mai 2025 kl. 01:33 skrev Dustin L. Howett @.***

:

DHowett left a comment (microsoft/terminal#18920)
https://github.com/microsoft/terminal/issues/18920#issuecomment-2887842941

I see you left the Windows version out when you filled out the bug
template. This makes it impossible to triage conhost issues. :(


Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/18920#issuecomment-2887842941,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIOKDNTBVNKNI7ZDEWIZQ3D26ZYUZAVCNFSM6AAAAAB5J2PQKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQOBXHA2DEOJUGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

@ThomasKjoernes commented on GitHub (May 17, 2025): Windows 11 23H2 22631.5335 Thomas lør. 17. mai 2025 kl. 01:33 skrev Dustin L. Howett ***@***.*** >: > *DHowett* left a comment (microsoft/terminal#18920) > <https://github.com/microsoft/terminal/issues/18920#issuecomment-2887842941> > > I see you left the Windows version out when you filled out the bug > template. This makes it impossible to triage conhost issues. :( > > — > Reply to this email directly, view it on GitHub > <https://github.com/microsoft/terminal/issues/18920#issuecomment-2887842941>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AIOKDNTBVNKNI7ZDEWIZQ3D26ZYUZAVCNFSM6AAAAAB5J2PQKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDQOBXHA2DEOJUGE> > . > You are receiving this because you authored the thread.Message ID: > ***@***.***> >
Author
Owner

@ThomasKjoernes commented on GitHub (May 17, 2025):

In my opinion, partial WriteConsoleOutput region updates, should be clipped. But then again, this might be difficult because of DPI scaling, zoom and non-pixel-perfect output.

@ThomasKjoernes commented on GitHub (May 17, 2025): In my opinion, partial WriteConsoleOutput region updates, should be clipped. But then again, this might be difficult because of DPI scaling, zoom and non-pixel-perfect output.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#23259