The compendium of tweaks and fixes for the PC version

+
The Compendium of Tweaks and Fixes for the PC Version

Warm greetings to all of you PC witchers out there! :D

This thread is meant to be a definitive collection of the tweaks and fixes that make the PC version of The Witcher 3: Wild Hunt perform and look to the best of its capabilities!


0. Understanding the purpose of this thread

Before you set out to apply any of the tweaks below, you have to first recognise that they are unofficial in nature, meaning that they are not approved by CD Projekt RED as genuine fixes.

However, don't let this put you off tweaking, since you can easily revert back any mistakes without permanently crippling your installation, nor your in-game progress!

All that you need to do is arm yourself with a bit of patience and put a little time on the side for some PC wizardry. That's it, let us begin in earnest then!


1. Updating your system drivers to their latest available versions

The latest GPU drivers can be found here for AMD and here for NVIDIA cards, respectively.

If your GPU driver installer does not offer you the option to perform a clean install (i.e. uninstalling the current drivers before installing the latest ones), then please use Display Driver Uninstaller to remove your current driver in Windows 10 Safe Mode, then reboot back to the normal Windows 10 desktop and install the latest version.

Furthermore, check your motherboard manufacturer's webpage (i.e. ASRock, ASUS, Gigabyte, MSI, etc.) for updated platform drivers (e.g. chipset, SATA, LAN, wireless, audio, etc.), as well as BIOS versions! If you do find driver and/or BIOS updates on your motherboard manufacturer's webpage, you can safely install them right away, but NEVER use any driver updater software to do so, no matter how reliable they may appear to be or how many positive reviews they have! You ONLY want to install driver and BIOS updates that have been validated by your motherboard's official manufacturer!


2. Importing your The Witcher 2: Assassins of Kings save files into The Witcher 3: Wild Hunt

Simply copy/paste your desired Witcher 2: Assassins of Kings save files into your "C:\Users\<your username>\My Documents\Witcher 2\gamesaves" folder.

If you happened to play the Steam version of the previous game and do not already have this folder in place, simply create it yourself to match the address provided above and then just copy/paste all of your favourite Witcher 2: Assassins of Kings save files in it!

NOTE: If you do choose to import a save file, the Prologue dialogue setting up Geralt's actions from the previous games will no longer trigger. This is, however, by design and means that the save import worked!


3. Understanding the visual and performance impact of the in-game graphics options

Andrew Burnes compiled an excellent illustrated explanation of each in-game setting in the official NVIDIA graphics, performance and tweaking guide for The Witcher 3: Wild Hunt. If you are curious to see which settings do what or by how much they will impact your in-game performance, then look no further than his terrific breakdown.


4. Disable the "NVIDIA Streamer Service" and "Xbox Game DVR" to improve performance and reduce crashes to desktop

If you are using an NVIDIA GPU, then you are also likely using NVIDIA GeForce Experience. While the latter can be very useful for determining what settings your rig should lean towards, it also introduces a new service, called "NVIDIA Streamer Service", that is only used for streaming your games to SHIELD devices and is actually causing framerate issues in many modern games, The Witcher 3: Wild Hunt included.

To turn this service completely off and regain some frames-per-second, as well as prevent any associated crashes to desktop, click on the Start Button on the Windows taskbar, search for "Services" and then right-click on its icon and select "Run as administrator".

After that, scroll down through the "Services (Local)" list, find and right-click on "NVIDIA Streamer Service", then select "Properties". First click on "Stop" to turn the service off, then confirm that you also want to stop "NVIDIA Streamer Network Service" and finally select "Startup type: Disabled" from the drop-down menu for both of these services!

Finally, open the Xbox app from the Windows 10 Start menu, then navigate to the "Settings" panel by clicking the cog icon on the left-hand side of the Xbox app's main window. Finally, under the "Game DVR" tab click on the slider just below "Record game clips and screenshots using Game DVR" to turn this feature off.


5. Reduce the latency of the in-game mouse cursor movement

To force the game to render the mouse cursor via a different pipeline than the rest of the game, thereby resulting in extremely low latency, simply switch on "Hardware Cursor" under the Video subsection of the in-game Options menu.


6. Improve the responsiveness of in-game movement

To increase the responsiveness of in-game movement, navigate to your "...\The Witcher 3 Wild Hunt\bin\config\platform\pc" folder, open the "platformgameplay.ini" file with a text editor (e.g. Notepad) and tweak the following variable as shown:

LeftStickSensitivity=1.0

NOTE: While setting the file to "Read-only" afterwards is not necessary, do remember to always save your changes before closing it!


7. Fix stuttering by increasing the game's maximum video memory budget

NOTE:
The following tweak is especially relevant when running mods that enhance the game's visuals!

The Witcher 3: Wild Hunt normally uses less than 2 GB of VRAM even at 4K resolution and this is great news for running the game with maximum texture quality on more modest hardware. Unfortunately, CD Projekt RED restricted the amount of GPU buffer dedicated to loading and storing textures too much even on the highest Texture Quality setting in order to achieve this, which can understandably lead to some prominent stuttering and hitching while exploring the game world, especially on horseback.

In order to circumvent this default limitation and allow the game to make proper use of your GPU's VRAM, navigate to your "...\Documents\The Witcher 3" folder, open the "user.settings" file with a text editor and tweak the following variable as shown:

[Rendering]
TextureMemoryBudget=half of your GPU's VRAM (e.g. "2048" for 4 GB GPUs)


While setting the file to "Read-only" afterwards is not necessary, do remember to always save your changes before closing it!


8. Fix the position of HUD elements at aspect ratios other than 16:9

Navigate to your "...\Documents\The Witcher 3" folder and open the "user.settings" file with a text editor, then find and tweak the following variables:

For 16:10 aspect ratios:
uiVerticalFrameScale=1.1253

For 21:9 aspect ratios (already fixed in the GOTY edition):
uiHorizontalFrameScale=1.3125
 
Last edited:
9. Tweak your GPU's control panel settings for improved performance, smoothness and visual fidelity

NOTE:
The following applies to NVIDIA GPUs, but RadeonPro can be used to apply equivalent settings for AMD GPUs as well!

Go to the NVIDIA Control Panel, then with the "Manage 3D settings" tab selected on the left-hand side of the window, select "Program Settings", find "The Witcher 3 (witcher3.exe)" in the drop-down menu and edit the variables below:

Anisotropic filtering: 16x
Power management mode: Prefer maximum performance
Texture filtering - Anisotropic sample optimisation: Off
Texture filtering - Negative LOD bias: Clamp
Texture filtering - Quality: High quality
Texture filtering - Trilinear optimisation: Off
Vertical sync: On


Click the "Apply" button, then navigate to the "Set PhysX configuration" tab and choose to offload PhysX duties to your GPU from the "Select a PhysX processor" drop-down menu. Simply click on the "Apply" button again and you should see an improvement in framerate smoothness in-game.

Finally, navigate to your "...\Documents\The Witcher 3" folder, open "user.settings" with a text editor and disable the game's poorer internal anisotropic filtering solution to avoid any possible conflicts:

[Rendering]
MaxTextureAnizotropy=0


Once again, please make sure to save your changes before closing the file! You can also check out my own visual guide for reference.


10. Use RivaTuner Statistics Server (RTSS) for proper frame pacing and framerate limiting

The in-game framerate limiter has been found to cause frame pacing issues (i.e. stuttering) and many players agree that one of the best ways to combat these is to disable the game's internal framerate limiter and VSync, then set it to run in “Fullscreen mode” and use the driver-enabled VSync and RivaTuner Statistics Server (RTSS) to cap your framerate and provide better frame pacing instead.

First of all, navigate to the in-game graphics options menu and configure the following settings as shown below:

VSync: Off
Maximum Frames Per Second: Unlimited
Display Mode: Full Screen


After that, download, install and run RTSS, click on the "+" button in the lower-left side of the main window, navigate to your "...\The Witcher 3 Wild Hunt\bin\x64" folder, select "witcher3.exe" and edit the newly-created profile as shown here, inputting the framerate cap of your choice under the "Framerate limit" field. After that, just press "Enter" on your keyboard to save your changes, minimise RTSS to your taskbar and run The Witcher 3: Wild Hunt as normal. Once the game starts, a framerate counter will appear in the corner of your screen and thus let you know that RTSS is working its magic for you!

NOTE: RTSS will always have to be running in the background (i.e. minimised to your taskbar) each time you run The Witcher 3: Wild Hunt or any other game you might be using it with for its frame limiting effect to work. As opposed to the above-mentioned GPU Control Panel tweaks, RTSS cannot apply its effects passively and needs to be manually started each time before launching your game of choice.


11. Alleviate occlusion culling-related visual bugs and improve the accuracy of in-game shadowing

NOTE:
The following tweaks will cause your in-game "Shadow Quality" slider to reset to "Low". This is perfectly normal and the game will actually make use of your tweaked values as long as you do not move that particular slider around anymore! All of the other graphics sliders can, however, be safely moved around without fear of overwriting the tweaks below.

REDEngine 3 makes heavy use of occlusion culling to improve The Witcher 3's performance, but sometimes this might lead to visual bugs such as shadows popping in very close to Geralt, or sunlight streaming through windows that disappears altogether while moving in-doors.

To remedy these problems, navigate to your "...\Documents\The Witcher 3" folder, open your “user.settings” file with a text editor and tweak the following variables:

[Rendering]
CascadeShadowDistanceScale0=3
CascadeShadowDistanceScale1=3
CascadeShadowDistanceScale2=2.5
CascadeShadowDistanceScale3=2


This will not only alleviate the missing lighting problem (before vs. after), but also increase the accuracy of shadow rendering (before vs. after) as well!

For improved performance without noticeably reducing shadowing quality, also use the following value for the “CascadeShadowmapSize” parameter:

[Rendering]
CascadeShadowmapSize=2048


To also correct shadow pop-in for NPC held objects (e.g. boxes, weapons, clothing), also copy/paste in the following line under the same "Rendering" subsection:

[Rendering]
CharacterShadowsFallbackDistance=40


For even higher shadow fidelity, you can tweak the above settings even further as shown below, but at a greater impact to your performance:

[Rendering]
CascadeShadowDistanceScale0=4
CascadeShadowDistanceScale1=4
CascadeShadowDistanceScale2=3
CascadeShadowDistanceScale3=2
CascadeShadowQuality=4



12. Increase texture quality by enabling higher quality mipmaps

NOTE:
The game now appears to use this tweak by default, but it does not hurt to apply it to your "user.settings" file manually, just to be sure!

Navigate to your "...\Documents\The Witcher 3" folder and open the "user.settings" file with a text editor, then manually add the following section and variable at the very end:

[Streaming/Textures]
UseMipRefiner=true


The addition of this variable will force the game to use much higher quality mip textures, improving the visual fidelity of the game at little to no performance cost. You can see it in action here: true (on) vs. false (off).

Remember to save your changes upon closing the "user.settings" file!


13. Other useful links and resources

For quick referencing, I have included below all of the tweaks, fixes and mods that I personally used to play The Witcher 3: Wild Hunt:

In-game graphics/postprocessing settings:
VSync: Off
Maximum Frames Per Second: Unlimited
Display Mode: Full Screen


All other settings apart from NVIDIA HairWorks (Off), NVIDIA HairWorks AA (0), NVIDIA HairWorks Preset (Low), Motion Blur (Off), Sharpening (High), Depth of Field (Off), Chromatic Aberration (Off) and Vignetting (Off) were set either on or to their maximum values before applying the .ini tweaks listed further below.

In-game gameplay settings:
Movement mode: Alternative

NVIDIA Control Panel
Manage 3D Settings (Program Settings\The Witcher 3 (witcher3.exe)):

Anisotropic filtering: 16x
Power management mode: Prefer maximum performance
Texture filtering - Anisotropic sample optimisation: Off
Texture filtering - Negative LOD bias: Clamp
Texture filtering - Quality: High quality
Texture filtering - Trilinear optimisation: Off
Vertical sync: On


User.settings file (...\Documents\The Witcher 3):
[Rendering]
CascadeShadowDistanceScale0=4
CascadeShadowDistanceScale1=4
CascadeShadowDistanceScale2=3
CascadeShadowDistanceScale3=2
CascadeShadowQuality=4
CascadeShadowmapSize=2048
CharacterShadowsFallbackDistance=40
MaxTextureAnizotropy=0
TextureMemoryBudget=2048

[Input/Gestures]
EnableSwipe=false
EnablePan=false
EnableGestures=false
EnablePinch=false

[Rendering/SpeedTree]
FoliageDistanceScale=2.4
FoliageShadowDistanceScale=64
GrassRingSize=8388608

[Kinect]
Kinect=false

[Streaming/Textures]
UseMipRefiner=true


Visuals.ini file (...\The Witcher 3 Wild Hunt\bin\config\base):
MovieFramerate=60

Platformgameplay.ini file (...\The Witcher 3 Wild Hunt\bin\config\platform\pc):
LeftStickSensitivity=1.0


Links:
- PCGamingWiki webpage
- NVIDIA's official graphics, performance and tweaking guide


My system specifications:
Intel i7-6700K (4.4 GHz OC), GSkill 16 GB DDR4 (3,600 MHz), ASUS ROG STRIX GTX 1080 Ti GAMING OC (11 GB GDDR5X), Samsung 860 Evo (1 TB), LG 32GK850G-B (G-Sync, 144 Hz)
 
Last edited:
Moderator Instruction:

This thread is being kept open so that, if he chooses to do so, @Verrenus can still update his original post. The rest of the original thread has been moved and closed.

If anyone has tweaks and solutions to add, please do so. However, please do NOT use this thread for asking for help or for posting bugs. Please use dedicated threads instead as it's much easier to track them that way. Any such posts in this thread are subject to deletion.
 
Just a quick question to ask about tip 12 - the changes to the nvidia control panel settings regarding anisotropic filtering, gamma correction, and max pre-rendered frames: when changing those options it also changes other settings like clamping the negative LOD bias for instance. Should I manually change them to their default setting again?
 
Just a quick question to ask about tip 12 - the changes to the nvidia control panel settings regarding anisotropic filtering, gamma correction, and max pre-rendered frames: when changing those options it also changes other settings like clamping the negative LOD bias for instance. Should I manually change them to their default setting again?

Nope. These changes make sure that texture shimmering is reduced (it says so in the tooltip in the nvidia panel.)

Note that the "gamma correction" thingy has no effect. This game doesn't support MSAA.
 
UseMipRefiner doesn't do anything. Am I doing something wrong? I added:

[Streaming/Textures]
UseMipRefiner=true

at the end of my user.settings. Screenshots:

Before:
https://i.imgur.com/Iyod0Cr.jpg

After:
https://i.imgur.com/WA00S9A.jpg

Zero difference.

(I have all in-game settings at the highest possible, except for the "Hairworks" which I keep disabled. I'm on a GTX 980 Ti.)

Thank you very much for your question, RealNC! ;)

I haven't played the game in a while, but if CDProjekt RED didn't remove that parameter with one of their recent patches, then it should simply work if you copy/paste that text into your user.settings file. :blink:

Did you also try setting your user.settings file to "Read-only" after applying this tweak, just in case the game somehow overrides your .ini changes? ???
 
Thank you very much for your question, RealNC! ;)

I haven't played the game in a while, but if CDProjekt RED didn't remove that parameter with one of their recent patches, then it should simply work if you copy/paste that text into your user.settings file. :blink:

Did you also try setting your user.settings file to "Read-only" after applying this tweak, just in case the game somehow overrides your .ini changes? ???
It's not read-only, but after running the game the setting is still there. The game doesn't remove it.
 
It's not read-only, but after running the game the setting is still there. The game doesn't remove it.

I know it shouldn't normally remove it, but since I don't have the game installed anymore I could not check that for myself. This is really bad news then - it likely means that one of the latest patches broke the UseMipRefiner tweak! :no

I will, of course, try to troubleshoot it myself once Blood and Wine gets released, but I am really sad to hear that one of our best tweaks is not working properly anymore. :(
 
Last edited:
A small correction about the "hardware cursor" setting. This doesn't disable mouse acceleration, since this game doesn't have mouse acceleration to begin with :)

What this does is use a cursor API which uses an overlay that's placed over the frame buffer that is sent to the monitor. This means the mouse cursor is not rendered by the game and the image of the cursor on the screen is not tied to the game's rendering pipeline. Instead the graphics card takes complete control of the mouse cursor and "injects" it over the final image. This makes it extremely low latency and is not even tied to vsync or framerate (even if the game runs at 5FPS, the cursor stays perfectly fluid.)

This is merely a display method and does not affect mouse input in the game. For example, it has no effect at all on the mouse camera control. Toggling this option will not affect the mouse controls in the game at all. All it affects is the mouse cursor arrow you see when you move the mouse.

The drawback of enabling it is that the cursor image is not rendered by the game anymore and thus has limitations on the maximum size, amount of color and animation. AFAIK, the game doesn't use animations or other special effects for the mouse cursor, so the only thing that changes is that it's a bit smaller, nothing more.
 
Last edited:
A small correction about the "hardware cursor" setting. This doesn't disable mouse acceleration, since this game doesn't have mouse acceleration to begin with :)

What this does is use a cursor API which uses an overlay that's placed over the frame buffer that is sent to the monitor. This means the mouse cursor is not rendered by the game and the image of the cursor on the screen is not tied to the game's rendering pipeline. Instead the graphics card takes complete control of the mouse cursor and "injects" it over the final image. This makes it extremely low latency and is not even tied to vsync or framerate (even if the game runs at 5FPS, the cursor stays perfectly fluid.)

This is merely a display method and does not affect mouse input in the game. For example, it has no effect at all on the mouse camera control. Toggling this option will not affect the mouse controls in the game at all. All it affects is the mouse cursor arrow you see when you move the mouse.

The drawback of enabling it is that the cursor image is not rendered by the game anymore and thus has limitations on the maximum size, amount of color and animation. AFAIK, the game doesn't use animations or other special effects for the mouse cursor, so the only thing that changes is that it's a bit smaller, nothing more.

Oh wow, thank you so much for your very detailed explanation of this setting, RealNC, I had no idea that's why mouse movement felt a lot better with "Hardware Cursor" turned on. :p

I will update the OP with this new explanation shortly! ;)
 
Last edited:
@Verrenus @RealNC

UseMipRefiner=true

UseMipRefiner=false

It's working fine here. Open the pics in another tab and compare, or click here.
Main difference can be seen on the ground, the snow on the cabin's roof and the overall sharper first picture.
Patch 1.12.

I have no idea why it doesn't work for you :(
___________

Verrenus, there's a tweak that was suggested a long time ago by Asmodean but you never added to the OP:

[Rendering]
CharacterShadowsFallbackDistance=40

NPCs constantly have parts of their shadows popping in when you get close to them (like their hats and bags). Increasing this (40 is a good number) makes this much less noticeable. I'm not sure if it's still working on 1.12, i'll be testing it.
 
Last edited:
weird i though UseMipMapRefiner didnt work anymore, last time i tried the game keep deleting the entry from my user.setting file
 
@Verrenus @RealNC

UseMipRefiner=true

UseMipRefiner=false

It's working fine here. Open the pics in another tab and compare, or click here.
Main difference can be seen on the ground, the snow on the cabin's roof and the overall sharper first picture.
Patch 1.12.

I have no idea why it doesn't work for you :(
___________

Verrenus, there's a tweak that was suggested a long time ago by Asmodean but you never added to the OP:

[Rendering]
CharacterShadowsFallbackDistance=40

NPCs constantly have parts of their shadows popping in when you get close to them (like their hats and bags). Increasing this (40 is a good number) makes this much less noticeable. I'm not sure if it's still working on 1.12, i'll be testing it.

Thanks a million for providing us with an excellent screenshot comparison, Kidoki, I am extremely happy to see that "UseMipRefiner" is actually still working even after so many patches! Did you do anything special to have it "stick" (i.e. make the "user.settings" file "Read-only" or something else)? :D

As for the "CharacterShadowsFallbackDistance" tweak, I am genuinely ashamed and sorry to say I don't remember anything about it. If you can help us with a test for this one as well, Kidoki, I will definitely update the OP with it at long last! :(
 
@essenthy That's strange. One thing i forgot to mention is, i have it set to true in the user.settings file and on the settings of this mod.

@Verrenus i'll test it as soon as i can :p

My user.settings file is not set to "read-only". As i said to essenthy, the only other thing i did was having it also set to ON at UGOM settings.
 
Last edited:
@essenthy That's strange. One thing i forgot to mention is, i have it set to true in the user.settings file and on the settings of this mod.

@Verrenus i'll test it as soon as i can :p

My user.settings file is not set to "read-only".

Hmmm, could it be that the Ultimate Graphics Options Mod (UGOM) might actually have something to do with forcing "UseMipRefiner" to still work? :ermm:

Thank you very much for your help once again, please report back with the "CharacterShadowsFallbackDistance" tweak results whenever you find the time! :p
 
@Verrenus

Here we go!

Pay attention to the (missing) bow's shadow, and at what distance it appears! First pic is always the 'limit" distance at which the shadow will appear/disappear. Second pic is one step closer, which makes the shadow appear.

CharacterShadowsFallbackDistance=Default unknown value, which must be very low.



CharacterShadowsFallbackDistance=40



Sorry for it being so hard to see at the last pic! You'll have to zoom in or something, but the shadow is definitely there. Open it in another tab and look closely.

Shadows from NPC hats, bags, weapons and whatever else they carry will no longer pop-in at your face.
________

Regarding the MipRefiner, i did remove UGOM and went to test the tweak. I noticed that when i set it to true
in my user.settings, it does disappears when the game is launched, like @essenthy said. But it works.
However,
if set to false, it doesn't disappear. And it does turn the feature off.

This can mean:
1. A patch made the default setting true. (Which would explain why it disappears)
2.
Maybe UGOM has altered my settings somehow, and when uninstalled the setting remained defaulted to true.

Comparison. Sorry, i didn't even intend to post the comparison, it's at a bad ToD. But i guess proof is needed.

Default shot has it set to "True" (which disappears when the game is launched), and on mouseover, it goes to False (which doesn't disappear).

I would be glad if someone could confirm if the game is defaulting this to true. Make a save and screenshot the same place twice. Once with it set to true, and once with it set to false.
 
Last edited:
Top Bottom