Windows 10 framerate drop whenever 1Password focused

kkrauth
kkrauth
Community Member
edited April 2020 in 1Password 7 for Windows

I have been getting significant refresh rate drops whenever 1Password is in the foreground. This happens both with the mini and full app experience. Two videos that demonstrate the problem (framerate counter in the corner)

https://photos.app.goo.gl/xesAHUHnXfQm92Kq9
https://photos.app.goo.gl/nmp3QGkhHZkCYYd48

I have noticed this choppy behavior for a while now, at least a couple of months. Not sure if it matters, but this is a g-sync monitor.


1Password Version: 7.4.763
Extension Version: Not Provided
OS Version: Windows 10 64bit
Sync Type: 1Password

Comments

  • This is probably related to g-sync, @kkrauth. We use Windows Presentation Foundation (WPF) to render 1Password's UI and WPF is capped at 60hz. You can learn a bit more about the details behind this here. My teammate, Mike, included some possible fixes there as well. But, in short, you're seeing this stuttering because GPUs don't downscale your refresh rate very gracefully.

    I have a freesync monitor myself (now capable of being used with Nvidia's GPUs), but don't see anything like this because I've thus far not taken the time to set it up so my display is still running at the default 60hz, thus no downscaling. This also means I'll not be a ton of a help with possible workarounds, but hopefully something in the prior thread works out for you. I also had a quick chat with Mike and he suggested that if it's possible disable g-sync specifically on your desktop, that could be a help as well. :+1:

  • kkrauth
    kkrauth
    Community Member
    edited April 2020

    Thanks for pointing me in the right direction! I think I discovered the culprit.

    First some facts from NVidia control panel:

    • In the "Manage 3D settings", Global settings tab, VSync is set to "Use the 3D application setting"
    • In "Change resolution" section, my refresh rate is set to 85Hz
    • In "Set up G-SYNC" section, I had "Enable for windowed and full screen" mode selected.

    The last point was causing the issue. After switching to "Full screen", the problem went away. Like this:

    I assume that when both windowed and full screen are enabled, the application is running in "windowed" G-SYNC mode which makes windows freak out as it's trying to reduce the refresh rate from 85Hz to 60Hz which is the max for WPF.

    One thing to note is that once 1Password has started, it will "remember" the setting that it was launched under. If it's started while "windowed/full screen" is selected, and then the option is changed to full screen only, the refresh rate drops will still happen. The "Full screen" option must be selected before starting 1Password, or a full restart is required.

    It was by sheer luck that I tried changing that setting before launching 1Password in the first place. If I hadn't, I would have assumed the setting should immediately apply to all running applications. After trying many combinations of restarting under one or the other setting, as well as launching 1Password before and after each setting, I realized that a restart is required to make the setting stick.

  • kkrauth
    kkrauth
    Community Member

    Thanks for pointing me in the right direction! I think I discovered the culprit.

    First some facts from NVidia control panel:

    • In the "Manage 3D settings", Global settings tab, VSync is set to "Use the 3D application setting"
    • In "Change resolution" section, my refresh rate is set to 85Hz
    • In "Set up G-SYNC" section, I had "Enable for windowed and full screen" mode selected.

    The last point was causing the issue. After switching to "Full screen", the problem went away.
    Like this:

    I assume that when both windowed and full screen are enabled, the application is running in "windowed" G-SYNC mode which makes windows freak out as it's trying to reduce the refresh rate from 85Hz to 60Hz which is the max for WPF.

    One thing to note is that once 1Password has started, it will "remember" the setting that it was launched under. If it's started while "windowed/full screen" is selected, and then the option is changed to full screen only, the refresh rate drops will still happen. The "Full screen" option must be selected before starting 1Password, or a full restart is required.

    It was by sheer luck that I tried changing that setting before launching 1Password in the first place. If I hadn't, I would have assumed the setting should immediately apply to all running applications. After trying many combinations of restarting under one or the other setting, as well as launching 1Password before and after each setting, I realized that a restart is required to make the setting stick.

  • kkrauth
    kkrauth
    Community Member
    edited April 2020

    P.S. This does mean that it's impossible to utilize GSync in windowed games, but I think that's a rare enough use case that it's acceptable until that WPF issue is closed.

    Also, someone in GitHub comments for that issue mentioned the exact fix I stumbled into myself :)
    https://github.com/dotnet/wpf/issues/2294#issuecomment-598788248

  • Thanks so much for sharing, @kkrauth! I'm glad you were able to sort it out. Funny enough, I make heavy use of "fullscreen windowed" mode in games, in part because I seem to have a habit of playing games that break alt-tab when in real fullscreen mode, so I guess I can add this to my list of reasons to continue being lazy about setting up g-sync as that fix wouldn't do it for me. :lol: Still, I'm pleased it works for you and appreciate you taking the time to share your findings. Hopefully next time someone sees this issue, your helpful comment will come up in search and save them some frustration. :chuffed:

  • kkrauth
    kkrauth
    Community Member

    You bet! I found an even better fix that limits the scope of change to 1Password only and allows leaving the "windowed and full screen" mode enabled if necessary.

    In the screencap below, instead of "Aurora", I picked "1Password for Windows Desktop", then selected "Fixed refresh" under "Monitor technology" as shown and it works great!

  • Extra awesome, @kkrauth! Though I would note that now you're taking away my excuses to be lazy and I'm not sure how I feel about that. :wink:

This discussion has been closed.