-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
Integer Scaling options to be saved in Profile per monitor #50
Comments
Woah this looks complicated :). I'll have a look at this after I've managed to get DisplayMagician v2.1.0 released and working reliably. There may be a few big fixes I'll need to do before I can even look at it, but to be truthful....it's kinda scaring me :). No promises, but I'll do some research to see how feasible it is. Thanks |
Thats what I meant last time 😂 |
@S4b0tage Just to be clear, is this something provided by Windows natively, or is it a special NVIDIA setting available only through the NVIDIA Control panel? |
That is provided by nvidia control panel only. |
Cool. That helps me realise where I'll need to add the code to support
this. And your feedback indicates it's in the NVIDIALibrary.
I'll have a look to see what functions that NVIDIA provide in their NVAPI
for interacting with integer scaling. I can't recall what they were.
Thanks
Terry
…On Tue, 2 Nov 2021, 23:54 Draftlight, ***@***.***> wrote:
That is provided by nvidia control panel only.
It's an option that works only for specific generations of cards, like the
rtx and some gtx series.
But I think all rtx series supports these natively already and gtx from
10xx series on
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#50 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU5LGGIM7FDOOERC5QCLDUJ67PRANCNFSM5G63WOTA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Don't get too crazy about it if it doesn't work, it's a nice to have but not super mandatory. Btw, how's the 2.1.0 release looking? |
Likely to be another test version around the weekend. This should fix a lot
of the usability issues, and adds the ability to manually choose the exact
icon you want for a game from those that DisplayMagician detects. Much
nicer to use now and way more flexible.
Once the test version gets thumbs up from various testers then will get a
wider release to those running 2.x. Once it's working fine with the wider
release for a month or so will then upgrade v1.1.4 users.
Thanks
Terry
…On Wed, 3 Nov 2021, 08:50 Draftlight, ***@***.***> wrote:
Don't get too crazy about it if it doesn't work, it's a nice to have but
not super mandatory.
If it works, that's awesome though, Im sure a lot of people in the ets2
community most probably will love that since performance tweaks like
integer scaling for lower resolution is kind of a big deal there.
Btw, how's the 2.1.0 release looking?
Right now I'm using the temporary version you gave me lastly but the game
shortcuts don't work.
But I need the refreshrate switching more so I stick with that temporary
version for now, no big deal 😂
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#50 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU5LDNV5JTJOHVVNYXKALUKA6G3ANCNFSM5G63WOTA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Sounds brilliant, thanks for the insight :) |
Hey Terry, Just wanted to let you know that, that the ETS2 community really appreciates your work ;) |
Cool. That's nice to know! Do you have a link you can share? I would be
interested to see what people write about DM.
Thanks
*Terry *
…On Fri, 5 Nov 2021 at 11:03, Draftlight ***@***.***> wrote:
Hey Terry,
Just wanted to let you know that, that the ETS2 community really
appreciates your work ;)
They added your tool on recommendation in several guides, hope that was
okay for you.
So in behalf of all users once again: Thanks a lot for your work and time
and effort put into that project, keep up the good work 💪
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#50 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU5LGSRNCNPZOINPL2U43UKL7MBANCNFSM5G63WOTA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Sure, this is one of the guides which has some redirected links to the forum entries: |
@S4b0tage thanks for the links. Appreciate seeing things like this. Helps keep me motivated :). Ok I took a little while to try and track down where the NVIDIA integer scaling settings are accessed, as the NVAPI is a large library and has a lot of places it could be hiding. Annoyingly, I though they were in the Custom Display part of the API, so I implemented the logic to store and apply those, but.... it's not there :(. That's a day wasted. After a little more searching it seems they have been added to the Display Config part of the API. This is pretty bad news, as I tried adding DisplayConfig functionality in the past, and got stuck with the P/Invoke structures required to interface with the nvapi DLL. The specific NVAPI_DISP_GetDisplayConfig function is a really tricky one, as it wants to be run 3 times, each time with me providing a little more information to the function, before it provides all the information I need. I have managed to get the function working once, but the second call is failing. As you can expect, what I'm working on is a pretty niche issue, so online resources to troubleshoot this are pretty hard to find. All and all this is proving a difficult problem to solve. I don't think I'll be able to add it to v2.1.0, but I'm planning on at least adding a space for it in the config file format so that we'll be able to add the functionality in the future without breaking everyone's display profiles for a third time :) Anyway, just wanted you to know I'm chipping away at it, but it could be a while before I solve it. Thanks |
Oh well, no worries, like I said, its nothing too important. |
An update! I've been pottering along, and managed to geta little further along. I've now added a spot in the config file format for the DisplayConfig results. This will be released with DisplayMagician v2.1.0 so that I don't need to revise the DisplayProfile file format a 3rd time. I think people will yell at me if I have to do that again :). In addition to that, I've been troubleshooting the issues I have using the NVAPI_DISP_GetDisplayConfig function. I've successfully managed to get it to perform the second pass (took 5 days!) but now I'm stuck at the third and final pass. I'm having to write my own memory marshalling code to handle the variable responses from the NVAPI DLL and then populate the returned structures so that they're valid for the next submission to the DLL. It's not fun. Try something in C#, watch how the memory works, then compare that against the sample code provided in C++ (which works), and then try to figure out how to make my memory structure more like the sample code.... it takes a while. I am definitely learning more about memory and how C# managed code is structured within memory, so that part is good. I'm also learning more about NVAPI and where all the bits live, and how to handle P/Invoke which is also good. I'll keep pottering along and see if I can unlock the structure that will just provide the data to me. I think that if I can get GetDisplayConfig to give up all the data, then I can just submit that data straight back to SetDisplayConfig when applying a config and then magic will happen! Another little thought I had was that the DisplayConfig parts of the API are designed to interact with Windows... it seems to handle the Windows CCD interface itself, potentially upsetting the order that the rendering needs to happen from DisplayMagician's perspective, and even possibly stopping me having to use the WinLibrary when setting the windows settings. If I do manage to get this code finished there will be quite a bit of testing needed if I'm modifying the way that the core libraries interoperate. That's a lot to think about, so I'd best get back to tinkering. If an when I get anything interesting to report, I'll drop it in this issue. Thanks |
An update. I've been spending time on bug squashing over the last month and a half. There were some issues with multiple adapters and USB display devices that I needed to sort out, and I'm coming to the end of that. Still some final bugs to squash in the UI as well, but in the new year, after the bug-fixing has settled down, I'll start work on DM v2.2.0, and I'll see whether this feature will fit in there. I haven't forgotten about it :) Thanks |
Hey Terry, Nice christmas to you |
@S4b0tage I've been keeping an eye on movements with Integer Scaling. The latest NVIDIA driver v511.23 release notes unfortunately specifically say that: I read this as do not apply Image Scaling/Integer Scaling to the desktop. I think I might wait a while until the Integer Scaling thing becomes more commonly used and supported by NVIDIA before I'll add support for it. Thanks |
@S4b0tage I may have some good news. I've been working the last month to add in the GetDisplayConfig and SetDisplayConfig support into the NVIDIALibrary, which as I understand it will store and set Image Scaling. I've tested it myself and the setting is set successfully. This should hopefully add in the functionality you're looking for. I've only tested it on my system so far, and I need your help to test it. It uses NVIDIAInfo, a little app that I wrote specifically to test the NVIDIALibrary that I wrote. Because I want to only test the video manipulation works, we will only use that for testing this. Once we can confirm that it all works then I'll roll it into DisplayMagician. Can you please download and extract this NVIDIAInfo zip file to a folder on your computer: Open a PowerShell window, and change to the same folder that you extracted NVIDIAInfo into. IMPORTANT - These instructions are likely to fail, so I need you to save/rename the NVIDIAInfo.log file as shown below. Each run of NVIDIAInfo overwrites the previous NVIDIAInfo.log, so I need you to rename it each time so it doesn't get overwritten. I need to see the log file entries to know what is broken. Please complete the following instructions in this specific order: Create your display layout with some of your screens but leave it set to no scaling:
Next create a second windows display layout, this time with your integer scaling on:
Next swap back to the noscale display layout:
Next swap back to the scale display layout again:
Once that series of tests are done, please include the following files in a ZIP file, and upload the ZIP to this github issue through your web browser (click and drag the file from your File explorer into Github and it will upload):
This will give me all the information I need to know whether it worked! I really hope it does as this has been a TON of work :) Thanks |
Hey Terry, sorry for the late reply, had quite a lot to do at work, IT-infrastructure is currently undergoing a huge change with our customer, but I took the time now to test as mentioned by you, everything seems to work just fine as of my point of view. Oh, small sidenote, I had to change the commands from "NVIDIAInfo [...]" to ".\NVIDIAInfo [...]". |
Hi @S4b0tage I've just finished DisplayMagician v2.3.0.35 which is hopefully the next big release of DisplayMagician. It has a lot of improvements and bug fixes to the NVIDIALibrary, and it's possible that it will solve the issues that you've been experiencing. NVIDIALibrary can now handle multiple physical adapters in a logical group, dvi-d and earlier connections, USB connected displays, adaptive sync, image scaling, cloned displays and more. DisplayMagicianSetup-v2.3.0.35.zip Can you please download and install DisplayMagician v2.3.0.35, and then do the following two steps:
If you have any issues, please create a Support ZIP File (main screen > Settings > Create Support ZIP File) and upload it here through your web browser. I'll then be able to use that for any bug fixing. Thanks |
Sorry! We just found an issue with some botched Display Profile upgrade logic :(. Now fixed. Please do the following:
Hopefully it should work this time. Please log a new issue at https://github.com/terrymacdonald/DisplayMagician/issues/new/choose if you experience any new bugs that you've not seen before, and I'll get right on fixing them. Thanks |
@S4b0tage New build time! I think I've fixed the issues you've experienced. I've completely changed the way that display profile layout images have are created, and it's a lot simpler, so should avoid some of the issues that you would have experienced. I've also found some bugs with the rebuild of the ShortcutForm and ShortcutItem that I did in v2.3 and fixed those, so that should stop some of the issues that occurred when creating new Game Shortcuts. DisplayMagicianSetup-v2.3.0.50.zip So can you please download and install DisplayMagician v2.3.0.50 from here and give it a test? If you find any issues please create a Support ZIP File and upload to this issue. Thanks! |
Oh yeah! Thanks for the reminder. I need to update the desktop plugin to
use the new display profile json file.
I'll update in the code, ready for the next release.
Thanks for the testing.
Terry
…On Fri, 15 Apr 2022, 01:15 Draftlight, ***@***.***> wrote:
Hey Terry,
It´s looking very good right now, switching seems to work exactly as
expected, awesome work once again.
I only experienced one minor issue though, when using the context menu on
the desktop I cant access my saved profiles.
From the Icon Taskbar it works just fine.
[image: image]
<https://user-images.githubusercontent.com/58745884/163397801-168213e4-1a90-4285-ad38-b23009487b08.png>
DisplayMagician-Support-20220414-1509.zip
<https://github.com/terrymacdonald/DisplayMagician/files/8489388/DisplayMagician-Support-20220414-1509.zip>
—
Reply to this email directly, view it on GitHub
<#50 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU5LD2QOLBOWR5NAPA67LVFALAJANCNFSM5G63WOTA>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
@S4b0tage Can you please download and test this version? The Desktop context menu should be working again now. |
@S4b0tage Actually here is an even later version. I found a bug that only happens during cloned screens that means the display layout image is incorrect when a display profile contains a cloned display. This version fixes that issue. I can't find any more bugs today based on all my testing. We might be close to a proper release! DisplayMagicianSetup-v2.3.1.7.zip Thanks |
Also, I'm going to close this issue as it should be fixed in DisplayMagician v2.3.1.7 which will be released within the couple of days. I'm closing this case so I can keep track of which issues are outstanding. If you still have the same problem once DisplayMagician v2.3.1.7 is released, please feel free to reopen this issue. If you have a new issue please open a NEW issue so I can track that prolem separately. Thanks |
Sorry Terry, was sleeping otherwise I would´ve tested this earlier (Was already midnight in germany) 😂 |
Just a quick note to say that there is a problem with a bug for some people
with some screens. So another version or two to go before the main
release....
Really glad it's working for you though. So close to everything working!
Thanks
Terry
…On Fri, 15 Apr 2022, 22:17 Draftlight, ***@***.***> wrote:
Sorry Terry, was sleeping otherwise I would´ve tested this earlier (Was
already midnight in germany) 😂
But yeah its working perfectly now, thanks a lot again, im happy that
integer scaling is also working now, thats a huge step for the ETS2
community.
—
Reply to this email directly, view it on GitHub
<#50 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLU5LAXMQPLCWHA62UJEQ3VFE635ANCNFSM5G63WOTA>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
Is your feature request related to a problem? Please describe.
When I play ETS2, I have to use a lower resolution (from 4k native to FHD) on 2 monitors due to performance.
To make up for the blur and "lower pixels" I use "Integer scaling" in NCP (see below screenshot) instead of "Aspect Ratio".
But when I have to do my regular IT work, I need to use 2 of my Monitors in QHD or UHD (depending on demand), therefore "Aspect Ratio" has to be enabled again to avoid Black Bars on a native UHD resolution.
Right now I need to change that manually everytime i switch the profile withing Display Magician, since its saved globally.
Describe the solution you'd like
Saving the integer Scaling setting per monitor per screen profile within DisplayMagician
Describe alternatives you've considered
There´s sadly no alternative out there yet to save this setting with an appropiate Tool
Additional context
Settings Page for Integer Scaling by NCP see below:
The text was updated successfully, but these errors were encountered: