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

165hz Monitors not going back to 165hz when selecting Default profile #33

Closed
stringfieldmark opened this issue Aug 21, 2021 · 13 comments
Closed
Assignees
Labels
bug Something isn't working workaround This bug has a temporary workaround while it's being fixed
Milestone

Comments

@stringfieldmark
Copy link

Describe the bug
I have two display profiles, a Default (4x Individual screens) and a triple screen profile(3xscreens in NVidia surround and 1xscreen as a second screen). Switching between profiles works perfectly apart from one thing.

When switching to my 3 x surround and 1 x second screen the 3 x surround screens always, correctly, default to the 165hz refresh rate (as it was set up). However, no matter how I set the default profile up, the 3 x screens always default back to 60hz.

To Reproduce
In order to reproduce, you must have 3xscreens that run at an alternate refresh rate to 60hz, preferably 165hz monitors.
Steps to reproduce the behaviour:

  1. Open DisplayMagician
  2. Delete the default profile (3 x single screen profile)
  3. Close DisplayMagician
  4. Open NVidia control panel
  5. Click on Change resolution
  6. Change the refresh rate for each of the monitors to, in my case, 165hz and click apply
  7. Click yes, at the "Apply Settings" dialogue box
  8. Open DisplayMagician
  9. Click on "DisplayProfiles"
  10. Click on "View Current Display"
  11. Save current display as "Default" or whatever name you choose
  12. Select the triple screen (NVidia Surround) profile
  13. Click "Apply"
  14. Check monitors are running at the 165Hz refresh rate (Mine do, so all good up to this point)
  15. In the, still open, DisplayMagician - Display Profiles page, select the "Default" profile
  16. Click "Apply"
  17. Monitors are now running at a 60Hz refresh rate

Expected behaviour
When setting up the profile the profile should remember the refresh rate set in the NVidia Control Panel setting, in my case, always 165Hz.

Screenshots
N/A (I can do a video if needed)

Reporting Logs
N/A - if required let me know and I'll get the logs attached

Environment (please complete the following information):

  • Windows Version: 21H1 (OS Build 19043.1165)
  • DisplayMagician Version: 1.1.4.0
  • Video Card: MSI GeForce RTX 3080 Ti SUPRIM X 12GB
  • Number and make/model of monitors: 3xMSI MAG322CQR and 1xBenQ PD3200U (all running at 1440)
  • Date of last video driver update: 2021-08-10 (471.68)
  • Date of last windows update: 2021-08

Additional context
This is the first time I have noticed this issue, else would have reported it a lot earlier. I could never figure out why, when enabling vsync, my frames ended up being capped at 60fps and with vsync turned off, the fps was well over 165fps (single screen FPS games). I decided to do a lot of testing and found the above.

Please do let me know if there is any further info you'd like, I'd be more than happy to provide it.

Hopefully, this is an easy fix as I am absolutely loving DisplayMagician.

@stringfieldmark stringfieldmark added the bug Something isn't working label Aug 21, 2021
@terrymacdonald
Copy link
Owner

terrymacdonald commented Aug 21, 2021 via email

@terrymacdonald terrymacdonald added this to the v2.0.0 milestone Aug 21, 2021
@stringfieldmark
Copy link
Author

Hi Terry,

As usual, thanks for all the immense effort you are putting into this and for the prompt reply.

NVidiaInfo works like a charm and is super quick to change to the various configs.

I saved 3 scenarios:

  1. 4x60hz(Singles).cfg (which is what DisplayMagician incorrectly sets all monitors to when going back to non-surround)
  2. 1x60hz(Single)_3x165hz(Surround).cfg (which DisplayMagician correctly sets monitors to when going to surround)
  3. 1x60hz(Single)_3x165hz(Singles).cfg (which is what I would expect DisplayMagician to set when going back to non-surround)

All three above do what the file name suggests when running the load feature of NVidiaInfo, so spot on!

I have now created a shortcut on my desktop to call number 3 above to reset to the 165Hz as an interim workaround :)

If there is anything else you'd like me to test, let me know.

Regards,

Mark

@terrymacdonald terrymacdonald added the workaround This bug has a temporary workaround while it's being fixed label Aug 22, 2021
@terrymacdonald
Copy link
Owner

@stringfieldmark This is great news. I've started integrating NVIDIALibrary and WinLibrary (both used in NVIDIAInfo) into DisplayMagician and I now have a working test version. I still have quite a bit of AMD Library development to complete as well as various bugs and enhancements to add into the codebase, but I expect to have something ready to test in the next month or so.

Would you be interested in performing some early 'alpha' testing for me?

Thanks
Terry

@stringfieldmark
Copy link
Author

Hi Terry,

Yes, this was great news and I'd be more than happy to do some 'alpha' testing for you.

Regards,

Mark

@terrymacdonald
Copy link
Owner

And another update. This has been a monster challenge, but I think I'm nearing the end of the NVIDIA chapter at least. Things that the new DisplayMagician can do:

Swap between surround and non-surround profiles within about 14 seconds
Handle surround and non-surround screens together
Works with NVIDIA mosaic cards now
Uses the PCI video card vendor ID to recognise NVIDIA and AMD vendors, and sets it's driver mode accordingly
Can be 'forced' to use a different video card mode if needed (unlikely to be used, but hey, why not)
Can set/clear a Desktop Background per profile if you want
Stores and applies Windows HDR and NVIDIA HDR settings
Records all settings provided by the NVIDIA driver and windows drivers under Windows 10, meaning that you display refresh settings are stored and set, as are bezel distances, or any other weird and wonderful settings you creative users are able to configure :)
But at present there are still bits I have to finish before I can craft any sort of production ready release:

It is very slow to load. I've identified this is due to DisplayMagician keeping on calling the video card libraries. I need to implement some caching to ensure that the video detection is only run at programme launch and when screen layout changes in some way.
I need to add AMD library support. This is the core reason why I started this journey, so it seems a little disingenuous to release DisplayMagician without this!
I need to add a nice message that popups when an old DisplayMagician file is detected, that informs the user that this is a new version of DisplayMagician that uses a brand new DisplayProfile format that will require them to create a brand new set of Display Profile layouts.
I need to test, and to provide my beta testers an early release of the software so that I iron out any bugs before a general release.
I need to add the ability to test the upgrade mechanism without upgrading the production upgrade functionality. This is needed so I can iron out any issues before a general release. Very important as DisplayMagician now has over 1500 users!
And I think that's about it!

Some cool things to come for sure, and it's taken a lot of hard work to get this close. Another little while and we're hopefully good to go!

Thanks
Terry

@terrymacdonald
Copy link
Owner

@stringfieldmark,

I finally have an test version of DisplayMagician v2.0.0 to share, and I'd be honoured if you'd do some testing for me.

I've attached DisplayMagician v2.0.0-alpha1.msi to this issue, and I'm really interesting to find out if it works on your system. This version of DisplayMagician uses two completely new display manipulation libraries that I created (one for NVIDIA and one for Windows CCD) so it needs some proper testing. Please feel free to test complicated setups like 2 screens in a Surround screen with another two screens next to it, or with different refresh rates, or HDR on only some of the screens. I really want to know if it will break.

IMPORTANT: DisplayMagician v2.0.0 uses a completely new Display Profile format. This means that you will need to create brand new Display Profiles when you first start DisplayMagician v2.0.0, and you will then need to edit your Game Shortcuts to use those new Display Profiles.

How to install this version of DisplayMagician:

  • Download and run the DisplayMagicianSetup-v2.0.0-alpha1.msi installer
  • Once installed, run DisplayMagician v2.0.0
  • Go straight to 'Settings' on the main screen
  • Change the Logging Level to 'Full application trace'
  • Click 'Back'
  • Click the 'Display Profiles' button
  • Setup the Display Profiles that you want to use (e.g. open up Windows Setup or NVIDIA Setup and change your display configuration until it's the way you want it, then swap back to DisplayMagician and save the DisplayProfile).
  • Edit your Game Shortcuts to use the new Display Profiles you just set up.

Then now please start using DisplayMagician v2.0.0 and see what breaks!

If you find a bug, please log it as a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose

Thanks
Terry
DisplayMagicianSetup-v2.0.0-alpha1.zip

@stringfieldmark
Copy link
Author

stringfieldmark commented Sep 10, 2021 via email

@terrymacdonald
Copy link
Owner

Thanks Mark!

One thing I forgot to mention is that it currently won't work on any system that has an AMD video card. I've not finished the AMD library, yet AMD detection is already plumbed into DisplayMagician, which means that DisplayMagician will attempt to use the non-existent AMD library if an AMD video card is detected, and it will just crash.

Thanks
Terry

@stringfieldmark
Copy link
Author

stringfieldmark commented Sep 11, 2021 via email

@terrymacdonald
Copy link
Owner

Hmmmm. I unfortunately didn't get the image showing the dll in the issue. Are you able to upload the picture again please? I did a bit removing of DLLs to make things smaller, and I think I may have gone too far! I'll do some more testing and see if I can figure out what's missing.

I made an 'improvement' to the process monitoring code and it looks like ti won't actually work on some games. So you may strike that soon. I'll do some more troubleshooting and will try to fix over the next week or two. I think that bit of the code needs some proper love, as I've never really fixed it up properly. It's always felt a bit too cobbled together. I'll take a look at that after I do a bit more on the AMDLibrary.

The great news here is that the most complicated part of the whole thing (the new NVIDIA Display Profiles) actually works ok so far! I've had two people say that part works well. I'll take that win right at the moment :).

Thanks
Terry

@stringfieldmark
Copy link
Author

stringfieldmark commented Sep 11, 2021 via email

@terrymacdonald
Copy link
Owner

@stringfieldmark Great news. I've got another DisplayMagican v2 build to test. This one has had a lot of local testing, and I've fixed a lot of bugs that I've found. And now I think it's ready for another round of testing.

I'd really love it if you could test this out for me. To install DisplayMagician v2.0.0-alpha2:

  • Firstly, uninstall DisplayMagician v2.0.0 alpha1 if you installed it earlier.
  • Secondly, download and install DisplayMagician v2.0.0 alpha2 from this issue
  • Thirdly, test it out :).

Hopefully it goes well for you and does everything it should, but if you do find any issues, please log them as new issues here: https://github.com/terrymacdonald/DisplayMagician/issues/new?assignees=terrymacdonald&labels=bug&template=bug_report.md&title=

Thanks
Terry

DisplayMagicianSetup-v2.0.0-alpha2.zip

@terrymacdonald
Copy link
Owner

Great news! DisplayMagician v2.0.1 has been released, and fixes this very issue. Please test it out, and if you still have any issues please log a new issue.

I'm closing this issue as the fix is in DisplayMagician v2.0.1, and I need to clear out the completed issues so I am able to work on the new issues that come in.

Thanks
Terry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working workaround This bug has a temporary workaround while it's being fixed
Projects
None yet
Development

No branches or pull requests

2 participants