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

Custom scale/DLAA via NvProfileInspector (no DLSSTweaks needed) #85

Open
emoose opened this issue Jul 31, 2023 · 17 comments
Open

Custom scale/DLAA via NvProfileInspector (no DLSSTweaks needed) #85

emoose opened this issue Jul 31, 2023 · 17 comments

Comments

@emoose
Copy link
Owner

emoose commented Jul 31, 2023

E2: the NvProfile settings related to DLSS can now be changed from the DLSSTweaks ConfigTool, you can use this to set any scale ratio you like, rather than needing to edit XML files as the previous ProfileInspector method needed.

Latest ConfigTool can be found in the release on NexusMods (note that these settings are only used by DLSS 3.1.11+ DLLs, you might need to update your games nvngx_dlss.dll file for them to be used)

ConfigTool doesn't require the DLSSTweaks nvngx.dll to be used, you can just extract the DLSSTweaksConfig.exe from the zip release above somewhere on your PC, and then run that EXE to change the DLSS profile settings.


Old post:

E: A customized XML file for NV profile inspector can be found here, you can use that with the normal NV profile inspector release to let you customize scale ratio & force DLAA on 3.1.11+: Orbmu2k/nvidiaProfileInspector#156 (comment)

Should be useful if you're unable to use DLSSTweaks for some reason (eg. MP games, if they allow using DLSS 3.1.11+)


Seems 3.1.11 added some NV profile settings checks, which can let you force DLAA & change the scale ratio/preset as you like:

0x10E41DF3 (NGX_OVERRIDE_RENDER_PRESET_SELECTION) - dword (0 - 6 which goes to preset A/B/C/D etc)
0x10E41DF4 (FORCE_DLAA) - boolean
0x10E41DF5 ("scaling ratio from DRS") - float
0x10AFB76A ("Fast UAV clear") - dword flags (1 / 2 / 4), might be existing setting that DLSS now taps into?
0x10AFB76B - string, logging related, might be log filename
0x10AFB76C (OVERRIDE_PERF_TO_9X) - boolean

I tested FORCE_DLAA & "scaling ratio from DRS", both worked fine, but only after I added them to the "base profile", doesn't look like DLSS bothers checking the games profile itself, too bad.

Could be useful for those who can't use DLSSTweaks for some reason, just too bad they didn't add this earlier so that online games stuck on 2.x could have used it...

Maybe I can try looking into whether this could be added to DLSSTweaks GUI or something, afaik NV profiles can be accessed with API...

@emoose emoose changed the title Forcing DLAA via NV profile settings, without needing DLSSTweaks (3.1.11+) Customizing scale ratio / forcing DLAA via NV Profile Inspector (without DLSSTweaks needed) Aug 2, 2023
@emoose emoose pinned this issue Aug 2, 2023
@emoose emoose changed the title Customizing scale ratio / forcing DLAA via NV Profile Inspector (without DLSSTweaks needed) Custom scale ratio / forcing DLAA via NV Profile Inspector (without DLSSTweaks needed) Aug 2, 2023
@emoose emoose changed the title Custom scale ratio / forcing DLAA via NV Profile Inspector (without DLSSTweaks needed) Custom scale ratio / DLAA via NvProfileInspector (no DLSSTweaks needed) Aug 14, 2023
@emoose emoose changed the title Custom scale ratio / DLAA via NvProfileInspector (no DLSSTweaks needed) Custom scaling / DLAA via NvProfileInspector (no DLSSTweaks needed) Aug 14, 2023
@emoose emoose changed the title Custom scaling / DLAA via NvProfileInspector (no DLSSTweaks needed) Custom scale/DLAA via NvProfileInspector (no DLSSTweaks needed) Aug 17, 2023
@Austinzveare
Copy link

Would it be possible to expand on this and add the sharpening and auto exposure settings? My main use for this is for BF 2042 where the image quality is abysmal and way over sharpened.

@ImASadBoy
Copy link

Is this safer to use in online games with anti-cheat?

@emoose
Copy link
Owner Author

emoose commented Sep 15, 2023

Updated ConfigTool to let you change these NV profile settings, requires tool to be ran as admin in order to change them, but the current values can be viewed without admin fine, it'll prompt you to relaunch the tool if any updated settings failed to save.

0.200.7-beta4 download: DLSSTweaks_0.200.7-beta4.zip

(see post below for ConfigTool update: #85 (comment))

This includes the 3 DLSS settings in the OP along with a setting to adjust the global DLSS hud/indicator value, in case DLSSTweaks can't activate it (or you want to enable it for all your DLSS games), and the sig override setting was moved there too:

23-09-15_03-36-02-384_DLSSTweaksConfig

Not sure if I'll keep these in the main settings window or maybe make a separate dialog for them though (right now this still requires dlsstweaks.ini in the same folder, even if you're just editing these globals...).

There's also some other NV global settings I'd like to expose such as the VideoSuperResolution option (which actually seems to have a hidden quality '5' that NVCP doesn't allow selecting right now...), would maybe be less confusing if those were all in a separate dialog.

Is this safer to use in online games with anti-cheat?

I'd guess it should be, these settings are checked by DLSS itself and don't need us to inject any extra code into the game like how DLSSTweaks works, as long as the games anticheat allows using DLSS 3.1.11+ I'd guess you should be able to adjust them fine.

@emoose
Copy link
Owner Author

emoose commented Sep 15, 2023

ConfigTool 0.200.7.5:
DLSSTweaksConfig_0.200.7.5.zip

ConfigTool can now work without requiring the DLSSTweaks DLL/INI itself, allowing you to configure the DLSS profile settings, when there's no dlsstweaks.ini file to configure in the same folder then it'll just display the NV settings that can be changed instead:

23-09-15_09-20-18-472_DLSSTweaksConfig

This also adds a VSRQuality setting for adjusting NV's video super resolution, interestingly the VSR setting itself can be set to quality level 5, while NVCP only allows setting it up to 4 - not sure if this makes any difference though, power draw seems identical between 4 & 5, so maybe it's just something unused atm.

(AFAIK this isn't an off-by-one issue at least, NV's settings API seems to check minimum/maximum of settings before saving them, quality 5 gets saved fine by it, while anything above is just ignored)

Originally I wrote a command-line tool to change VSR quality so I could use it in scripts etc but figured it'd be worth adding to the ConfigTool too, seeing as the only other way to change it is hidden away on some NVCP page (wouldn't be surprised if some people missed that completely...)

(might still add some kind of cmd-line support so that it could still be used in scripts though, will look into it soon)

@achtchaern
Copy link

Could the VSR setting be integrated into Nvidia Profile Inspector?

@emoose
Copy link
Owner Author

emoose commented Sep 15, 2023

VSR isn't handled with the normal NvProfile stuff sadly, seems to be kept with some other VideoState settings instead, not sure if ProfileInspector includes anything for those atm.

Did add some command-line options for it in latest git ver though, so you could run it like "dlsstweaksconfig.exe -vsr 4" to change it, should be able to make shortcuts/scripts to call into that fine, seems changing VSR doesn't need admin permissions neither luckily.

(the build posted above doesn't include this yet though, will post a new build up soon)

@achtchaern
Copy link

Thank you!!

@achtchaern
Copy link

achtchaern commented Sep 16, 2023

With my 3080 and a 720p stream, GPU power draw is significantly lower with VSR profile 5 (upscaling to 1920x1200).

  • VSR 5: ~ 40 W
  • VSR 4: ~ 90 W

@emoose
Copy link
Owner Author

emoose commented Sep 16, 2023

Hm maybe will have to take another look at it, it was a couple driver versions ago that I tried measuring level 5, maybe newer drivers have changed it now.

Did you notice any quality difference between 4 & 5?

@achtchaern
Copy link

I tried to compare but the all looked identical to me in a still image.. I couldn't even find a difference between 1 and 4 when comparing a still. Will try again later.

@ImASadBoy
Copy link

ImASadBoy commented Sep 17, 2023

Sorry, I don't understand how to specify the render scale with this tool, where should this be done? I'm using DLSSTweaksConfig_0.200.7.5.zip and running it as administrator, I have Nvidia profile inspector installed.

Edit: I just noticed that GlobalForcedSCale sets the number you chose as the default scale for all DLSS presets. I was wondering if there was a way to set it for every quality level.

@emoose
Copy link
Owner Author

emoose commented Sep 18, 2023

ConfigTool 0.200.7.6: DLSSTweaksConfig_0.200.7.6.zip

This allows changing the NvProfile globals via command-line args, eg you can run the program like the following (or create a shortcut to run this):
DLSSTweaksConfig.exe -GlobalForceDLAA 1 -GlobalForcedScale 1.0 -GlobalForcedPreset D -VSR 5

If admin permissions are needed it'll prompt you automatically, most of the NvProfile settings unfortunately need admin permissions, but the VSR setting should be changeable without admin (may require any video-players to be relaunched though)

This is just for the NvProfile settings, DLSSTweaks.ini settings can't be changed via command-line yet.

Also moved the NvProfile settings to the end of the list if a DLSSTweaks.ini file is being changed, since having it near the top would probably just confuse people.

I just noticed that GlobalForcedSCale sets the number you chose as the default scale for all DLSS presets. I was wondering if there was a way to set it for every quality level.

With the NvProfile globals it can only affect all quality levels unfortunately, doesn't seem they added anything to let us change it per-level, would have to setup the DLSSTweaks DLL (beta4 at #85 (comment)) like normal if you need to change those.

@celloh123
Copy link

What does the -VSR 5 command do?

@emoose
Copy link
Owner Author

emoose commented Sep 20, 2023

-VSR 5 would change the VSRQuality #0 setting shown at #85 (comment) to level 5, VSR is just a shorthand for it, you can use -VSRQuality instead if you want to make your shortcut specific :)

ATM only the #0 setting can be changed via command-line though (aka monitor #0), in future maybe will make the cmd-line apply across all monitors instead.

@celloh123
Copy link

I can't seem to get this working in Cyberpunk and Lies of P. Both using the latest 3.5 dll from techpowerup. Force enabling dev watermark does nothing. Forcing from the profile inspector does work

@celloh123
Copy link

Any idea on what the preset G is?

@achtchaern
Copy link

I made a comparison between the different VSR quality levels. Despite the lower power consumption, the hidden quality level 5 seems to be the best one IMO, because it's closer to the original compared to level 4.

Disabled
1
2
3
4
5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants