I recently got a laptop cooling pad and decided to increase my graphics settings for the game, however it’s running into problems whenever there’re large waves of enemies spawning at once, or when there’re many VFX effects on screen at once (smite, gas, fire?). I’ve tried numerous things to improve this but so far not much seems to matter much:
GPU utilization went as high as 92% (avg 70~90%) which shouldn’t suggest a GPU usage induced frame time problem
GPU memory 3.9/13.9GB, no reason for it to be causing frame issues
CPU utilization around 30~40%, so not exactly a CPU bottleneck either
V-sync is off so no stutters from there
Nvidia reflex was on before and never caused particular problems like this
I use FSR3.1 frame generation in game (tried the DLSS3-to-FSSR3 frame gen mod, still has stutters like the game-native frame gen).
I tried this in limited testing last night but it wasn’t doing much.
I usually play the game at 80fps (40 cap, FSR3.1 frame gen 2x up to 80), however the game can randomly drop down to 64~69fps with such long frame time that the game slows down drastically in a brief moment.
I tried last night in a lights out mission and even when there weren’t many enemies on screen it still was happening. GPU utilization <100%. GPU memory nowhere near maxed out. CPU utilization normal the whole time. I don’t know what’s causing issues.
Update: I’ve now tried capping framerate to 70fps in game and it achieved nothing (when frames start stuttering, they still feel exact same even though my overlay says 68fps).
I’ve tried 70fps, 80fps, 90fps, 100fps and 120fps cap, and they all suffer the same frame stutter problem.
It’s making the game borderline unplayable for me in the higher difficulties because I can’t trust the game to not screw me over in intense situations.
Going out on a limb, can you edit your user settings.ini file and find the max threads (there are two of them) and change them higher than your thread count? Like, 20 maybe? And try lower too. Also make sure you’re not overheating or underclocking during tense scenes.
Also get creature spawner mod for Psykhanium and spawn like two hundred enemies to test your FPS.
Update, I’ve now tested smiting 150~200 poxwalkers in psykhanium
Never experienced the frame stutters like in live games
CPU utilization fluctuating between 34~41% for the most part, rarely jumping above 50%
yea, invisibility disabled, it was at around 30~44% CPU utilization which was quite normal.
I think I have a clue as to what’s going on though, it’s probably from mesh LOD being set too high (?), as that’s the only constant between all the tests I did (I set it to 1.6)
Lowered it down to 0.5 today and it seems to be running a lot better. Not sure if I want to push it back to 1.0 though.
That’s also the setting I’m running at though for new players it’d affect the game play because they’d think a place would be open space only to realize from 1m away it’s actually barred with grating.
My guess is that the draw distance plays a part in this too. In the beginning of Hab Dreyko, looking at the horizon through scaffoldings my base FPS goes down to 60ish because of my slow CPU.
I’m pretty sure the actual detailed rendering distance is 10x of the mesh LOD number (0.5 = 5m), at least that’s how far enemies’ shadows render in psykhanium if lighting quality is medium or higher.
Never mind, I’m out of ideas
Just played a smelter complex and game stuttered like crazy (felt like 10fps) despite my nvidia overlay saying I have 70fps in the end event. I think it’s just the game being weird.
SIde note: By observing it, you may also have altered the outcome.
Overlays can muddy the waters, you can log to files using MSI Afterburner(+RTSS) without any overlays.
Long shot: Some have also said that AnimationEvents mod causes stutters?
It also might be worth playing with the traditional troubleshooting steps like CFG exploit protection exemption and CPU core affinity etc.
Does it stutter without framegen?
No particularly bad stutters without frame gen, instead it just drops frames badly (1% fps lows are always quite a bit lower than targeted framerate, can tank during horde spawns).
Which leads me to believe that the stuttery effect is caused by the game’s naturally unstable frame pacing, which is further exacerbated by frame generation (which wants consistent frame pacing).
I’ve tried basically every method available besides sending my laptop back for a manufacturer check, and none is substantially improving the framerate stability for Darktide. I think it’s just the game being due for an optimization pass.
One thing that a lot of people have had luck with is disabling the mesh streamer.
Go to C:\Program Files (x86)\Steam\steamapps\common\Warhammer 40,000 DARKTIDE\bundle\application_settings, open settings_common.ini in notepad. Scroll down until you find mesh_streamer_settings and change disable = false to disable = true then save the file.
This will use more VRAM but will make the game only load high quality meshes instead of dynamically streaming them in and out which seems to cause stutter for a lot of people.
Because this change is in the main game folder it gets reverted when the game is updated but I’ve recently found that I can also add this setting to my user settings.
Go to C:\Users\YourUsername\AppData\Roaming\Fatshark\Darktide and open user_settings.config in notepad. Scroll down a bit and you should find an empty mesh streamer bracket like this:
mesh_streamer_settings = {
}
which you can add the disable line to:
mesh_streamer_settings = {
disable = true
}
and then save the file.
We haven’t had an update since I found this out so I don’t know for sure but because mod information is saved in the same file and is fine after updates I think doing it this way should stop the change being reverted after the game updates.
Interestingly my framerate always felt more consistent with frame gen even when I had huge frame dips and I wonder if it’s because of this. In the user settings there’s a line for ffx_swapchain = false under the fsr frame gen line.
FrameInterpolationSwapChain can be used as a replacement of the DXGI or Vulkan swapchain and from the application point of view behavior should be similar.
When frame generation is disabled, the main difference will be that present is slightly more expensive (one extra surface copy) compared to using the swapchain directly.
The FrameInterpolationSwapchain handles frame pacing automatically. Since Windows is not a real-time operating system and variable refresh rate displays are sensitive to timing imprecisions, FSR3 has been designed to use a busy wait loop in order to achieve the best possible timing behavior.
Presentation and pacing are done using two additional CPU threads separate from the main render loop. A high-priority pacing thread keeps track of average frame time, including UI composition time, and calculates the target presentation time delta. It also waits for GPU work to finish to avoid long GPU-side waits after the CPU-side presentation call.
I tried testing this by setting ffx_swapchain = true but didn’t have any luck. The first time the game just reverted it. The second time I tried setting my user settings to read only and got a few errors in the log game log about not being able to change the settings file and my performance seemed unaffected otherwise.
I want to be able to test this to see if it would actually help with frame pacing but the way it was implemented into the game doesn’t seem to let me. Especially considering there’s a line on that page about how you should be able to enable or disable the ffx swapchain and have it just replace the default IDXGISwapChain4 but Darktide only lets you enable or disable it in the launcher. Go figure .