Witcher 3 stuttering, any help is needed. Will read any suggestions.

+
Witcher 3 stuttering, any help is needed. Will read any suggestions.

I dont know if someone would be able to help me or if this problem could ever be solved, but I lose nothing by trying. I know this game is demanding and I know that, while my PC is not state of the art, is not that bad either. I can have 30 fps locked on any area of the game, high to medium settings, HBAO+ and other stuff. I have the game on Steam. On patch 1.10, I was able to play at 40 fps locked, at that time, I had only 4GB RAM and the game ran fine, only dropped fps, never had stuttering. After patch 1.11 the game became unplayable, so I decided to leave it for a time and wait for some patches. Patch 1.31 has solved nothing on my end.

First, I will post my issue, along with a video with a link from Mediafire:

I have the strangest problems with this game, I have tried ALL sorts of tweaks, every fix that exists on Google I have tried it, use SSD or HDD but no luck, I only managed to fix the constant micro stutter but now my game has "portals of stuttering", yeah, as you read it. Lets say I am at Skellige, I can run or go from A to B area with 30 fps lock (at more fps, the game is unstable, even so my PC can hit locked 50, the game stutters) smooth, high settings and all, no slowdowns, then all of a sudden, if I decide to take another route, the game hitches and loses 3 fps or 2, but not gradually, its instant, which results in stutter.

Imagine yourself at one area of the map, then you see another point at the distance you want to go and then you go, but you get a stutter in the middle, while getting there. You go back to see what it is, then it stutters again. Is like some areas of the map had a part where the game will stutter no matter what. Picture an imaginary line on the map, if you cross that line, that game will stutter, does not matter if you cross if forward or backwards.

My game has these "lines of stutter" all over the map, at several places, with lots of NPCs or no NPCs, does not matter. I have one of these at Gealt house at the Blood and Wine DLC, the right stairs to be precise, the left stairs have a smaller stutter to go to the house. That whole small area has that one only stutter. Velen and all of the place where the Baron men are, no stutter "portals" there, Novingrad, more or less, not a lot and so on, some places stutter, some others dont. Combat is perfect thankfully, but exploration is pretty hard to do like this.

My frame rate never drops, drops due to the stutters I get, the "sutter portals", CPU and GPU are not maxed out ever, I ran games like Shadow Of Mordor and MGS V TPP without these terrible problems.
As you can see on the video, I should have 30 fps locked, but I have these stutter "lines" on my game: (1.03 to 1:06 is where it can be noticed the best). http://www.mediafire.com/file/5rnc73cqhksybjj/VID_20161025_140519.mp4 (That was recorded with 4GB of RAM, now I have 8 and the issue is the same.)

System specs:
Asrock G41M-VS3 2.0
Hyper TX3 CPU cooler
Core 2 Quad Q8400 overcloked to 2.85 GHz (Never goes past 57c)
ZOTAC GTX 950 2GB (Never goes past 70c)
8GB RAM 1126 MHz
Micron SSD 128 GB (I run the game on this one)
Seagate SATA 7200 rpm HDD
EVGA 400W Power Supply
Windows 7x64 SP1

My resources.ini, in case anybody could lend me a hand: (Game still stutters even with the file as it comes with the game, the original resouces.ini file).


[Memory/Unloading]
; Master flag - enable the resource runtime unloading system
; This system is using refcounting instead of the Garbage Collector
EnableUnloading = 0


; How many cleanup iterations we should do in one purge
; To few - we may risk delaying destruction of resources to much
; To much - stalls. Should not be bigger than the biggest dependency chain any way (which is around 10)
MaxCleanupIterations = 10


; Minimal amount of frames between each resource purge
AutoPurgeDelay = 30


; Resource grace period - resource will not be released even if it has no references for this amount of frames
GracePeriod = 30


; Validation that the resources we thing we can free we can really free
; This is done by dependency scannig (kind of like in the GC) - VERY SLOW
EnableValidation = 0


; Report potential memory leaks - objects that were referenced from the resources that we freed but did not get deleted
EnableLeakCheck = 0




[ResourceLoading]
; Size of the file queue during game (when loading screen is not there)
; The bigger, the better
FileQueueSizeGame = 400


; Size of the file queue during loading perios (when loading screen is there)
; The bigger, the better
FileQueueSizeLoading = 850


; Number of files to load for which we do not bother with starting fully async process
; Basicaly - if we only have to load few file it does not matter if we use prefetching or not
AsyncLoadingFileCountTreshold = 1


; Do we allow async loading to be used
UseAsyncLoading = true


; Should we use dependency cache
UseDependencyCache = true


; Streaming offset distance in meters (stream in Xm before autohide distance kicks in to allow dissolve to work)
StreamingOffset = 2;


[ResourceLoading/Decompression]
; Maximum number of AsyncIO requests that can be in flight from the resource loading system
; Note that anything more than 50 has a HIGH CHANCE of crashing/freezing the game
; The internal maximum number of pending async requests is 64 and we need to leave some slots avaiable for other systems (caches)
MaxRequests = 40


; Reserved number of AsyncIO requests per priority
; Non zero value guarantees that there'll always be some free slots to service high priority trafic
RequestsPriorityReserve = 4


; Maximum memory budget for compressed data
; The bigger, the faster the loading
; Note: the memory is not pre allocated, it's just tracked and limited
MaxCompressedBudget = 10


; Maximum number of compressed blocks that are in-flight
; In general does not matter that much, do not make it to small
MaxCompressedBlocks = 4096


; Maximum memory budget for uncompressed data
; The bigger, the faster the loading
; Note: the memory is not pre allocated, it's just tracked and limited
; Note2: this should always be bigger than MaxCompressedBudget value, usually x2.5 times (average compression ratio)
MaxUncmpressedBudget = 500


; Maximum number of uncompressed blocks that are in-flight
; In general does not matter that much, do not make it to small
MaxUncompressedBlocks = 4096




Any help is much needed.
 
Last edited:
I'd guess that it's a streaming issue. You could try to overclock the RAM to 1333MHz if possible as Witcher 3 seems to benefit alot from faster RAM. Another thing to consider would be using Halfrate Adaptive-sync that can be enabled from the Nvidia control panel. Adaptive sync uses V-sync whilst hitting 30/60FPS but turns it off when dropping below.
 
I had the same issue with 4GB RAM at 1333, but to be able to overclock the CPU to the frequency it has, I have to lower the RAM speed at the BIOS. I am using Half Refresh rate from nVidia control panel, nothing seems to be working. I use it as Adaptive. Happens at any settings and at any resolution, as I said, CPU and GPU are never maxed out, this can happen at a landscape or at a city, always at the same places, meaning, the stutter is "fixed" to certain areas and only those areas, like if they were scripted you could say. Never han an issue like this before. Quite sad too, since before these patches the game was running fine with only 4GB of RAM. Now with 8, it behaves the same when I had 4 and the game began to stutter, but thanks for your feedback!

Do you have the resouces.ini tweaked or is it as it comes with the game?
 

iCake

Forum veteran
Well, it's definitely upside down for me :radovidsmug:



BTW, it might be a perception problem as it's very unusual to watch a vid like this, but I didn't notice any stuttering really.
 
Last edited:
You have to look really hard to see it o.o, but its there, it bothers me. :anger: Look at the MSI Afterburner fps counter, it drops to 27-28 when stutters, these are not normal fps drops, there are hipcups or hitching, however you might wanna call it. Tried all I could, no hope it seems. All of the other games run fine.
 

iCake

Forum veteran
As was noted try using adaptive V-Sync or no V-Sync whatsoever, if the standard V-Sync is active and FPS drops below the number that can be synced up with the refresh rate of the monitor it starts re-adjusting the said number by dividing your refresh rate by a continiously lower integer.

EG: Your monitor refresh rate is 60 Hz. Your card is able to output 60 FPS or more, you get 60/1 = 60. It drops to, say 59 fps, then 60/2=30. That's quite a spike and one of the reasons a lot of people hate V-Sync. In your case: your FPS goes to 27-28, the it actually becomes 60/3 = 20. 20 FPS is never smooth, so it might just be what feels like hitching to you.

Adapive V-Sync would just stop syncing up your frames whenever your FPS drops below the number it can sync up, so the spikes would not be so drastic. You'll get screen tearing in such cases however.
 
Last edited:
Hey everyone, I tried some of the suggestions here, no luck yet. On a side note, on earlier patches my game was fine, is this patch 1.31 that seems to have damaged it. No idea what could it be.
 
@haloce2210

That's unfortunate. If you were talking about trying out the V-Sync solution, then please, make sure you first have turned off V-Syn in-game by setting the FPS limit to unlimited.

Anyway, it's hard to help you not knowing exactly which "solutions" you tried already. Frankly, I don't think you need to list them all here as the plethora of the solutions might actually be placebos at the very best or outright harmful at worst. So I suggest you set up your game to its defaults and then we'll try to sort things out from there. Delete all the config files and verify your game installation in steam or reinstall it altogether. Run the game at least once after that. Keep the saves ;)

Then try these out:

- Disable Steam in-game overlay. Disable Ge-Force experience shadow play service.

- In Nvidia Control Panel, set the power consumption mode for your GPU to "Prefer Maximum Performance". Do it for the Witcher 3.exe only.

- In Windows Control Panel, set the power mode to "Maximum performance".

- Disable any anti-virus software before running the game or add the game installation folder to exceptions.

- Run the game at the lowest graphical settings. See if the problem is still persistant. Oh, and do away with any FPS limit you might have set up through third party apps. MSI Afterburner and its RivaTuner are such apps.

See if that helps.
 
I tried all of your steps and on any setting or V-Sync solution; in-game, forced from nVidia control panel or completely off, its all the same. At any resolution or setting, is the same problem. :,( Looks like I will never be able to play the game.
 
You can also check to see if you're running in fullscreen mode (not borderless window)..sometimes this changes when upgrading the game.
 
Good news! I reduced my stutter by quite a bit with these resouces.ini settings: (Is something to low or too high? Can it be fixed further? Thanks!)

; Resource grace period - resource will not be released even if it has no references for this amount of frames
GracePeriod = 30

; Validation that the resources we thing we can free we can really free
; This is done by dependency scannig (kind of like in the GC) - VERY SLOW
EnableValidation = 0

; Report potential memory leaks - objects that were referenced from the resources that we freed but did not get deleted
EnableLeakCheck = 1


[ResourceLoading]
; Size of the file queue during game (when loading screen is not there)
; The bigger, the better
FileQueueSizeGame = 250

; Size of the file queue during loading perios (when loading screen is there)
; The bigger, the better
FileQueueSizeLoading = 700

; Number of files to load for which we do not bother with starting fully async process
; Basicaly - if we only have to load few file it does not matter if we use prefetching or not
AsyncLoadingFileCountTreshold = 1

; Do we allow async loading to be used
UseAsyncLoading = true

; Should we use dependency cache
UseDependencyCache = true

; Streaming offset distance in meters (stream in Xm before autohide distance kicks in to allow dissolve to work)
StreamingOffset = 2;

[ResourceLoading/Decompression]
; Maximum number of AsyncIO requests that can be in flight from the resource loading system
; Note that anything more than 50 has a HIGH CHANCE of crashing/freezing the game
; The internal maximum number of pending async requests is 64 and we need to leave some slots avaiable for other systems (caches)
MaxRequests = 40

; Reserved number of AsyncIO requests per priority
; Non zero value guarantees that there'll always be some free slots to service high priority trafic
RequestsPriorityReserve = 4

; Maximum memory budget for compressed data
; The bigger, the faster the loading
; Note: the memory is not pre allocated, it's just tracked and limited
MaxCompressedBudget = 10

; Maximum number of compressed blocks that are in-flight
; In general does not matter that much, do not make it to small
MaxCompressedBlocks = 4096

; Maximum memory budget for uncompressed data
; The bigger, the faster the loading
; Note: the memory is not pre allocated, it's just tracked and limited
; Note2: this should always be bigger than MaxCompressedBudget value, usually x2.5 times (average compression ratio)
MaxUncmpressedBudget = 500

; Maximum number of uncompressed blocks that are in-flight
; In general does not matter that much, do not make it to small
MaxUncompressedBlocks = 4096

--- Updated 03-11-16, 02:05 ---

TudorAdrian;n6678902 said:
You can also check to see if you're running in fullscreen mode (not borderless window)..sometimes this changes when upgrading the game.



TudorAdrian;n6678902 said:
You can also check to see if you're running in fullscreen mode (not borderless window)..sometimes this changes when upgrading the game.





I did, on borderless it stuttters even worse, full screen gives me the best results. Thanks for the tip!
 
Top Bottom