microsoft / microsoft/terminal

Text antialiasing doesn't work properly when moving between monitors of different scale

Open
#15,835 0 comments 0 reactions 0 assignees View on GitHub
Area-Rendering Area-TerminalControl Issue-Bug Product-Terminal
Dominant language
C++
Stars
105k
Forks
9.6k
Avg merge
3d 17h
Merged PRs (30d)
29

Description

### Windows Terminal version

1.18.1462.0

### Windows build number

10.0.22621.2134

### Other Software

This occurs with all software I tested (Powershell, cmd, WSL).

### Steps to reproduce

1. Have two monitors at different scale factors (I reproduced this with a 15" 2560x1440 monitor at 125% scale and a 27" 2560x1440 monitor at 100% scale).
2. Have Terminal on one monitor (it is most easily seen if you start on the 125% monitor).
3. Drag or use shift+win+right to move Terminal to the other monitor.
4. Observe that the font is now blurry:
- On the 125% monitor:
![image](https://github.com/microsoft/terminal/assets/3046014/e90668d7-c40b-46fd-807b-8bcb897bea0f)
- After moving to the 100% monitor:
![image](https://github.com/microsoft/terminal/assets/3046014/e955a2a0-2690-4b53-81cc-425393c46226)
- Changing the size of the window (maximize, restore, drag a border in or out, whatever) fixes the rendering:
![image](https://github.com/microsoft/terminal/assets/3046014/8747c631-56a2-41ac-94c4-7099bff47619)
- Changing the font size via ctrl and +/- does *not* fix the antialiasing.

### Expected Behavior

Font antialiasing maintains quality when moved to a new window.

### Actual Behavior

Font antialiasing has reduced quality (font is blurry) until the window size is changed.

This appears like it might be related to #6210, but it's a different symptom - while the column count does change as in that issue, this is specifically about antialiasing.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue using two monitors with different scale factors and the listed move and resize steps. Investigate the Terminal entry point that handles monitor changes and text rendering; done means antialiasing remains clear after moving between monitors without resizing the window.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.