Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.19] Random lags on focus and unfocus #16038

Open
lhecker opened this issue Sep 26, 2023 · 2 comments
Open

[1.19] Random lags on focus and unfocus #16038

lhecker opened this issue Sep 26, 2023 · 2 comments
Labels
Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal.
Milestone

Comments

@lhecker
Copy link
Member

lhecker commented Sep 26, 2023

Windows Terminal version

1.19.2682.0

Windows build number

No response

Other Software

No response

Steps to reproduce

  • Run rainbowbench -ng
  • Focus and unfocus the application

Expected Behavior

rainbowbench should show something along the lines of

22486 fps | 83132 kcg/s

or about half that on a slower CPU.

Focusing/Unfocusing doesn't randomly lag the renderer.

Actual Behavior

7436 fps | 26605 kcg/s

and it randomly lags.

@lhecker lhecker added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Sep 26, 2023
@lhecker
Copy link
Member Author

lhecker commented Sep 27, 2023

The throughput issue occurs because I now flush a ConPTY frame whenever DoWriteConsole returns. Previously, ConPTY would only flush it after up to 16.7ms when the next rendering iteration occurs. I think this is fine, because I'd like to move away from the asynchronous nature of ConPTY over to a direct translation.

I can't quite figure out why I had lags though. It's been gone ever since I disabled G-SYNC and it hasn't come back even after enabling G-SYNC. Weird.

@zadjii-msft zadjii-msft added the Product-Terminal The new Windows Terminal. label Sep 27, 2023
@carlos-zamora carlos-zamora added Severity-Blocking We won't ship a release like this! No-siree. Priority-1 A description (P1) and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Sep 27, 2023
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Tag-Fix Doesn't match tag requirements label Sep 27, 2023
@carlos-zamora carlos-zamora added Priority-2 A description (P2) and removed Severity-Blocking We won't ship a release like this! No-siree. Priority-1 A description (P1) labels Sep 27, 2023
@carlos-zamora carlos-zamora changed the title [1.19] Random lags and text throughput slowdowns [1.19] Random lags on focus and unfocus Sep 27, 2023
@carlos-zamora carlos-zamora added Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues and removed Needs-Tag-Fix Doesn't match tag requirements labels Sep 27, 2023
@zadjii-msft
Copy link
Member

This seems related to #12336, but not exactly the same.

Hypothesis: we should stop WriteFileing in EndPaint, because that blocks the I/O thread until ConPtyConnection ReadFiles ((baseless assumption))

@carlos-zamora carlos-zamora added Priority-1 A description (P1) and removed Priority-2 A description (P2) labels Sep 27, 2023
@carlos-zamora carlos-zamora added this to the Terminal v1.20 milestone Sep 27, 2023
@lhecker lhecker modified the milestones: Terminal v1.21, Backlog Mar 28, 2024
@lhecker lhecker removed their assignment May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Rendering Text rendering, emoji, complex glyph & font-fallback issues Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-1 A description (P1) Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

3 participants