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

Performance issue with dragging/animations on latest preview #12349

Closed
Tracked by #9999
Barbiero opened this issue Feb 3, 2022 · 11 comments
Closed
Tracked by #9999

Performance issue with dragging/animations on latest preview #12349

Barbiero opened this issue Feb 3, 2022 · 11 comments
Assignees
Labels
Area-AtlasEngine Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Milestone

Comments

@Barbiero
Copy link

Barbiero commented Feb 3, 2022

Windows Terminal version

1.13.10336.0

Windows build number

10.0.22000.0

Other Software

No response

Steps to reproduce

  1. Open terminal v1.13 in a non-maximized mode
  2. drag it around your desktop, or click on arrows to show animations
  3. easier to see with a high refresh rate screen(I use a 144hz one)

Expected Behavior

performance for window dragging and animations shouldn't change over versions

Actual Behavior

When dragging my terminal from version 13+, it seems to be "lagging" terribly. No other software shows this behavior.

I couldn't upload a video to github(file too big, tried to capture at a high refresh rate & resolution so it's more obvious) but here's a gfycat link exemplifying: https://gfycat.com/gargantuanteemingiaerismetalmark
Please watch it in HD so that it's clearer to see.

@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Feb 3, 2022
@zadjii-msft
Copy link
Member

easier to see with a high refresh rate screen(I use a 144hz one)

That might be why I can't seem to see this locally. My only guess is that this is due to #11680, but I sure as heck don't know why that would be, or how we'd even begin to start debugging that.

@zadjii-msft zadjii-msft added Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-3 A description (P3) Product-Terminal The new Windows Terminal. labels Feb 3, 2022
@Barbiero
Copy link
Author

Barbiero commented Feb 3, 2022

hi, I figured out some new information

I was using a Freesync screen with Nvidia G-SYNC turned on. When I turned Freesync off, the bug was gone. Must be some weird interaction with the video drivers and *Sync techs. Thinking about it, it definitely feels like the preview terminal is at a "lower framerate".

This doesn't happen with current stable terminal nor with any other windows 11 application, regardless of Freesync status.

@zadjii-msft
Copy link
Member

Hmm. The Preview build has acrylic in the titlebar, the stable one doesn't. Maybe try disabling that, see if that changes it. I'm trying to think if there are any other settings differences that might make a difference here.

Did you maybe opt the Terminal (stable) out of gsync in the nvidia control panel, but not the Preview build?

@zadjii-msft zadjii-msft added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Feb 3, 2022
@lhecker
Copy link
Member

lhecker commented Feb 3, 2022

@Barbiero Do you have the new "atlas engine" / "experimental text renderer" enabled by any chance?
Nvidia's driver has a bug where it really really really wants us to use G-SYNC, even though our application really doesn't. 😄
Since we only draw when something changes (meaning: whenever the cursor blinks), it'll effectively drop the entire monitor frame rate down to 1 FPS (or something close to it), which makes everything stutter. We asked them to include Windows Terminal Preview in their driver exclusion list, but haven't heard back yet.

@Barbiero
Copy link
Author

Barbiero commented Feb 4, 2022

@zadjii-msft disabling acryllic makes no difference. Also, I did not opt the stable version out of g-sync purposefully: on nvidia control panel, it says that Windows Terminal is not compatible with g-sync at all. The windows terminal preview didn't show up on the list automatically, and when I added it to the software list it was set as "use global configuration (compatible with G-SYNC)".

@lhecker I never enabled anything like that and unfortunately I don't even know how I'd be able to check; web searches provide me no useful information on those terms 😭

Purposefully customizing windows terminal through nvidia control panel in order to make it ignore g-sync fixes the issue, but I feel like that's a very weird workaround.

I guess this is a thing with nvidia not excluding WT Preview version. Thanks for the help all.

@ghost ghost added Needs-Attention The core contributors need to come back around and look at this ASAP. and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Feb 4, 2022
@lhecker
Copy link
Member

lhecker commented Feb 4, 2022

@Barbiero I also have a G-Sync monitor and up until now Windows Terminal did not trigger G-Sync.
But today we launched Windows Terminal Preview 1.13, which features a new renderer. That one weirdly enough consistently triggers G-Sync for me.

I'll follow up with the Nvidia devs soon and ask them what the status quo for the addition to the exclusion list is. If you have an up to date driver, the non-Preview version of Windows Terminal should already be on the exclusion list and work fine in the meantime. 🙂

@zadjii-msft
Copy link
Member

(I hope the DisplayName change didn't secretly affect their rules 😨)

@lhecker
Copy link
Member

lhecker commented Feb 4, 2022

Nvidia Profile Inspector:
image

Given the green line you'd expect it to apply to any executable named "windowsterminal.exe", but nope... In either case it seems to go by the package name.

@DHowett
Copy link
Member

DHowett commented Feb 4, 2022

Wait, the package's actual system-level ID has not changed¹. Are you telling me they're going by the "Visual Element" display name? That would be madness.

¹ We're still Microsoft.WindowsTerminal{,Preview}_8wxxxxxxx... and the package's official display name is still "Windows Terminal{, Preview}"

@DHowett
Copy link
Member

DHowett commented Feb 4, 2022

If they're using the visual element display name, they would need to add one exclusion for every package PER every language that that package supports. Something else must be going on here.

@zadjii-msft zadjii-msft added Area-AtlasEngine and removed Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Attention The core contributors need to come back around and look at this ASAP. labels Feb 17, 2022
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Feb 17, 2022
@zadjii-msft zadjii-msft added this to the 22H1 milestone Feb 17, 2022
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label Feb 17, 2022
@zadjii-msft zadjii-msft modified the milestones: 22H1, 22H2 Aug 3, 2022
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Aug 3, 2022
@zadjii-msft zadjii-msft removed this from the 22H2 milestone Dec 5, 2022
@zadjii-msft zadjii-msft added this to the Terminal v1.18 milestone Dec 5, 2022
@ghost ghost added the Needs-Tag-Fix Doesn't match tag requirements label Dec 5, 2022
@lhecker lhecker modified the milestones: Terminal v1.18, Backlog Apr 12, 2023
@lhecker
Copy link
Member

lhecker commented Apr 23, 2024

Nvidia added all Windows Terminal to some recent driver version. I'm not entirely sure which one fixed it, but simply upgrading to the latest version will definitely fix it.

@lhecker lhecker closed this as completed Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-AtlasEngine Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Tag-Fix Doesn't match tag requirements Priority-3 A description (P3) Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

4 participants