; DLSSTweaks by emoose - https://github.com/emoose/DLSSTweaks ; Wrapper DLL that can force DLAA onto DLSS-supported games, along with tweaking the scaling ratios & presets used by them ; ; DLSSTweaks now offers two ways of loading itself in, to help with systems that had issues with the older method: ; ; - Leaving the DLL filename as "nvngx.dll" will let it wrap the nvngx.dll DLSS module, usually has the best chance of working since it requires less code hooks to be installed. ; However this method does need a registry change to be applied first to stop DLSS from checking the nvngx.dll signature. ; The included "EnableNvidiaSigOverride.reg" file can handle this for you, just double-click -> Run -> Yes to all prompts ; (This only affects Nvidia specific signature checks, not anything to do with Windows) ; In case it wasn't included, reg file can also be found at https://github.com/emoose/DLSSTweaks/blob/master/EnableNvidiaSigOverride.reg ; ; - Alternatively, a legacy method can be used by renaming the DLSSTweaks "nvngx.dll" to one of the following names instead. ; (different games may require certain filenames to load in properly, and some games may have issues with this method altogether, the nvngx.dll method above is recommended) ; - XInput1_3.dll ; - XInput1_4.dll ; - XInput9_1_0.dll ; - dxgi.dll ; - XAPOFX1_5.dll ; - X3DAudio1_7.dll ; - winmm.dll ; ; If you find a DLSS-supported game that doesn't work with either of these methods please let me know! [DLSS] ; ForceDLAA: forces all DLSS quality modes to act as DLAA instead, making the game render in full-res while DLAA anti-aliasing is applied over it ; To use this just enable any DLSS quality in the game, with this tweak enabled they'll all render at full resolution instead ; The game might change mip biasing depending on the quality level however, so feel free to experiment with them! ; ; Notes: ; - if DLSSQualityLevels section is enabled then ForceDLAA won't be applied, and ratios will be used from that section instead ; - you can check if DLAA is active using the OverrideDlssHud tweak below, overlay text should mention both render resolution & upscaled resolution, if they match then DLAA is active ; - if game has problems running with full-res DLAA it could be worth tweaking the ResolutionOffset setting in Compatibility section below ; - DLSS Preset F is recommended for use with DLAA by Nvidia, but usually won't be set by default, instead you can set that in the DLSSPresets section below ForceDLAA = true ; OverrideAutoExposure: allows forcing DLSS auto-exposure to be enabled/disabled/left at default ; Certain DLSS2 titles may have an "AutoExposure" option in-game, which might fail to activate with DLSS3.1 ; In that case you can force it to enable here ; Some early titles released before auto-exposure might also benefit from having it forced (reducing ghosting issues in certain titles) ; More info about auto-exposure at https://github.com/emoose/DLSSTweaks/issues/53 ; Set to 0 to leave it at default, 1 to force enable, or -1 to force disable OverrideAutoExposure = 0 ; OverrideSharpening: allows overriding the DLSS sharpening applied to the image ; This only affects pre-2.5.1 DLSS versions, v2.5.1 and later versions removed sharpening from DLSS (use sharpening available in NV control panel instead) ; ; Value can be from -1.0 to 1.0, negative numbers will apply a softening filter, while positive ones will sharpen ; (eg. setting to 0.64 will apply 64% sharpening filter) ; Can usually be changed during gameplay fine, by simply editing the INI file ; (you may need to set a value to this first before starting game though, in order for the DLSS sharpening flag to be set) ; ; Usage: ; - Set to a value from -1.0 to 1.0 to apply softening or sharpening ; - Set to 0 to disable softening/sharpening (will leave any DoSharpening DLSS flag in place though, which may still affect image) ; - Set to "disable" to completely force the sharpening flag to be disabled (this will prevent changing OverrideSharpening during gameplay) ; - Set to "ignore" (or comment out the line) to prevent this override from applying, leaving the value at whatever game sets for it OverrideSharpening = Ignore ; OverrideDlssHud: allows force enabling/disabling the DLSS debug display HUD overlay ; The HUD will display on bottom left of screen in-game when enabled, though some titles may draw effects on top of it ; For those it's recommended to try disabling any post-process effects ; Should work with both release & dev DLSS DLL types ; Set to 0 to leave it at default, 1 to force enable, or -1 to force disable ; (if overlay doesn't seem to draw try setting this to 2 instead to make it use a slightly different method) OverrideDlssHud = 1 ; DisableDevWatermark: removes the on-screen watermark shown when using dev DLL ; Can also remove watermark on certain versions of DLSSG/FrameGeneration ; Only useful if you're using a dev version of DLSS, most won't need this DisableDevWatermark = false ; VerboseLogging: increases DLSSTweaks log level & prints extra log entries into dlsstweaks.log file VerboseLogging = false [DLLPathOverrides] ; DLLPathOverrides: allows overriding the path that a DLL will be loaded from based on the filename of it ; This can be useful if you're prevented somehow from changing any of the game files, stopping you from changing DLSS DLLs easily ; (eg. RGL launcher which always overwrites DLSS with an older version) ; Can also be useful if you use a global injector setup & want every game to use a single DLSS DLL ; ; Format of this section is the following: ; (";" indicates the line is a comment, remove it for DLSSTweaks to use that line) ;[DLL name] = [path to load from] ; For example: ;nvngx_dlss = nvngx_dlss_new.dll ; ; Full paths can also be specified too, including spaces (no need to use double-quotes around it): ;nvngx_dlss = C:\Users\Username\Desktop\DLSS Releases\3.1.11\rel\nvngx_dlss.dll ; ; Other DLLs such as DLSS FrameGen (nvngx_dlssg) can also be overridden using this too: ;nvngx_dlssg = C:\Users\Username\Desktop\DLSS Releases\DLSS FrameGen\3.1.10\nvngx_dlssg.dll [DLSSQualityLevels] ; DLSSQualityLevels: allows overriding the ratios that DLSS uses for each quality level ; Notes: ; - enabling this section will disable the ForceDLAA setting above ; - currently using a customized quality level may make DLSS select a different DLSS3.1 preset to use, usually based on whatever the closest (unmodified) level would be to that ratio ; eg. if you set UltraPerformance ratio here close to what unmodified Quality would use (0.666..), DLSS will likely use the preset defined for Quality below when you pick the UltraPerformance setting in-game Enable = false ; Ratios/multipliers applied to each axis of screen resolution ; Set to 1.0 to force this quality level to use full resolution (ie. DLAA) ; Values are limited to range 0.0 - 1.0 ; Alternatively you can specify a resolution directly in the form "WIDTHxHEIGHT", eg. "Quality = 1920x1080" UltraPerformance = 0.33333334 Performance = 0.5 Balanced = 0.58 Quality = 0.66666667 ; UltraQuality: certain games may allow this level to be picked if uncommented (remove the ";" at the start) and set to non-zero value ; Very few titles actually allow using this though, but a small few may show an option for it once enabled, giving you an extra DLSS level to choose from ;UltraQuality = 0.77 [DLSSPresets] ; DLSS preset overrides for each quality level: set to Default to leave the preset set to whatever game/DLSS decided for it ; Or set to A / B / C / D / F to try forcing that preset instead. ; Presets were added in DLSS 3.1, these are essentially the different kinds of DLSS 2.x DLL versions, all merged into 3.1 as these presets ; (so eg. instead of picking the best quality DLSS DLL for your game, you'd just find the right preset for it instead) ; For descriptions of each preset see https://www.reddit.com/r/nvidia/comments/10z2ra9/nvidia_publishes_dlss_super_resolution_sdk_31/j81f9te/ ; (OverrideAppId should no longer be needed to use this section, any overrides should just work without needing anything else enabled) ; (in case the presets here aren't being applied for you the OverrideAppId tweak can still be enabled in Compatibility section below) DLAA = C UltraPerformance = Default Performance = Default Balanced = Default Quality = C [Compatibility] ; ResolutionOffset: offsets both resolution axes by this value when DLAA is being applied ; Some games might not function well with full-resolution DLAA for whatever reason ; Subtracting a tiny amount from the resolution first may help with them though ; This offset is only applied to DLAA modes (either from ForceDLAA, DLSSQualityLevels 1.00, or the game setting DLAA itself) ; Titles known to require this for DLAA to work: ; - RE Engine titles (set to -1) ; - Crysis 3 Remastered (set to -1) ResolutionOffset = 0 ; DisableIniMonitoring: if set to true, prevents DLSSTweaks from checking for updated INI during gameplay ; By default DLSSTweaks will ask Windows to be notified whenever the INI file is updated, and will then try applying any updated settings to the game during runtime ; Not every setting can be applied during gameplay though, most will require game to be relaunched, depends on the game which settings can be changed ; (DLSSPresets should work on almost every title though - you can use OverrideDlssHud to confirm) ; ; INI monitoring should have almost no cost to performance, but may possibly cause issues with certain games depending how they're installed ; In case game fails to launch with DLSSTweaks in place, you can try disabling the INI update code here DisableIniMonitoring = false ; OverrideAppId: previously this was required to be set in order to override DLSS3.1 presets on certain games ; However in newer DLSSTweaks a different solution has been found, which can now let presets be overridden without needing any app ID changes ; That method could stop working on future titles/DLSS versions though ; So in case game doesn't seem to apply DLSSPresets section for you at all, you can try seeing if OverrideAppId can still help ; (in majority of cases this likely won't be needed however) OverrideAppId = false