I fixed stutter and textures not loading in! (Texutre streaming config file change)

Issue Description (Required):

I hope that the devs at Fatshark see this because my journey of looking for a reproduceable root cause of game stutter and texture streaming not working correctly has ended!

PLEASE NOTE: I have a high end system, and an AMD graphics card (which are notorious for having issues with darktide), your mileage may vary depdning on your PC’s specs

What was causing it for me? It was the texture streaming configuration / settings (i think this is what it is called).

Under the file ‘settings_common.ini’,. Found in your local game files (for steam this is under C:\Program Files (x86)\Steam\steamapps\common\Warhammer 40,000 DARKTIDE\bundle\application_settings). I changed the following values:


BEFORE:

streaming_buffer_size = 32
streaming_max_open_streams = 50
streaming_texture_pool_size = 400
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 64
	streaming_texture_pool_size = 512

AFTER:

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 512
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 128
	streaming_texture_pool_size = 1024

EDIT: I am aware that the above settings worked for some people but in my continued testing this has netted me even better results and has eliminated all my performance issues on my AMD Graphics Card. The game is as smooth as Space Marine 2 for me. ENSURE YOU DISABLE AMD SAM IF YOU HAVE AN AMD GPU

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 400
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 128
	streaming_texture_pool_size = 800

Note: I did try other configurations of values, combinations, etc. but so far in my 4 weeks of testing, this set of values has given me the best results by a large margin, i will do more testing to see if I can improve performance any more.

This has almost entirely removed stutter, my game is running unbelievable smooth, and went from struggling to hit 110fps, to averaging anywhere from between 150 to 200fps in the vast majority of scenarios. Not to mention its like my game is being played in Ultra HD. Everything is SO UNBELIEVABLY CLEAR AND DETAILED!

Not sure if this works for anyone else, but for me with my AMD graphics card, this has solved ALL of my issues I’ve been plagued with for the last year.

Attempted Solutions (Optional):

Under settings_common.ini change these values to the following:

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 512
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 128
	streaming_texture_pool_size = 1024

Alternate setting for AMD (Disable AMD SAM, it causes issues with Darktide):

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 400
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 128
	streaming_texture_pool_size = 800

Platform (Required):

PC - Steam

[PC] PC Specifications (Optional):

9800x3D
7900xtx
32gb DDR5 6200mhz

12 Likes

Now Im curious if these sizes can relate to the infinity cache on AMD GPU’s, and not having an amount that matches or is divisible simply can negatively affect GPU texture stream performance and causes the stutter.
My 6700xt also has 96MB so I can give it a shot. I think maxing it at 96MB could potentially be detrimental since it would potentially overshoot. so maybe, divisible by 32/16/8? Ill try 32 first and use 64MB and go from there.

Edit:
No setting seemed to have gotten rid of the stuttering, and I havent experienced the texture problem before, so if it helps others who have this problem by all means, I’ll just continue my search for a solution, 2 years on.

Would be nice to know what Arrowhead did with helldivers 2 for these settings (same engine) because that game doesnt stutter at all for me. Even when the assets for cosmetics dont load in fast enough, it doesnt cause the whole game to stutter when it does.

2 Likes

I am wondering if this has something to do with resizable bar being on or off as well.

I know that resizable bar (AMD SAM) being off limits the data transfers with VRAM to 256mb (there is that number again). Turning off Resizable Bar (AMD SAM) helps A LOT with stutter in this game from my experience, and people i’ve talked to with 6000 series GPUs have said this helps.

I have just been fiddling around with these values as at stock values my game ran like crap.

You can try other value combos like

streaming_buffer_size = 32
streaming_max_open_streams = 64
streaming_texture_pool_size = 512
surface_properties = "application_settings/global"
texture_streamer_settings = {
	streaming_buffer_size = 64
	streaming_texture_pool_size = 512

This setup gave me an okay performance improvement but part of my wonders if this issue has something to do with the 7000 series GPUs from AMD due to them being a chiplet design. Could be totally off as its only speculation though.

That being said, I dont entirely have no stutters, they are just MASSIVELY reduced, and my game is so much smoother, responsive and runs faster now. I am so happy.

1 Like

I’m using these for the user settings ini file.

texture_settings = { "content/texture_categories/character_bc" = 2 "content/texture_categories/character_bca" = 2 "content/texture_categories/character_bcm" = 2 "content/texture_categories/character_hm" = 2 "content/texture_categories/character_mask" = 2 "content/texture_categories/character_mask2" = 2 "content/texture_categories/character_nm" = 2 "content/texture_categories/character_orm" = 2 "content/texture_categories/environment_bc" = 100 "content/texture_categories/environment_bca" = 100 "content/texture_categories/environment_hm" = 100 "content/texture_categories/environment_nm" = 100 "content/texture_categories/environment_orm" = 100 "content/texture_categories/weapon_bc" = 2 "content/texture_categories/weapon_bca" = 2 "content/texture_categories/weapon_hm" = 2 "content/texture_categories/weapon_mask" = 2 "content/texture_categories/weapon_nm" = 2 "content/texture_categories/weapon_orm" = 2

Except for the characters, everything looks horrible with these because I don’t care about the eye candy. You have been warned.

1 Like

God i wish i didnt have to go diving and fiddling with things i dont know just to make the game run smoothly, optimisation update please Fatshark :pray:

1 Like

I’ve had bad stuttering since that patch where they messed up the full screen settings. Ran smooth as silk before that and now it can be pretty unplayable.

I have an intel i9, 64gb ram, 4090rtx, and all on SSDs. not sure if the above solution will help Nvidia chips but will give it a go when I get a chance.

Would really love to get rid of the stuttering. The train level is particularly bad for it, especially when engaged in the minigame.

Im doing some further experimenting with settings, reading up on any stingray autodesk engine documentation, and reading some archived forums. If I come up with anything else, I’ll let you know.

But it seems that at least for me, the game refuses to use more than 8gb of VRAM which is stupid. I am trying to find a way to increase the VRAM pool available to the engine but so far can’t find anything.

1 Like

I gave this a try and it seems to give me a solid 70fps on my 2070 Super (before it would go back and forth between 40-60fps when it was busy). Thanks!

1 Like

I tried your settings. Ray tracing is high now and never drop below 120fps . Perfect solution. Thank you.

Resolution 2560x1440
GPU RTX4070ti
CPU i5-12600K

Thats great to hear that this seems to work for NVIDIA in terms of cleaning up performance. Thank you for your input

2 Likes

4K

4080 Super and a 9800x3d

This made an ENORMOUS difference. Everything smoothed out.

1 Like

Yeah, it massively helps with frame smoothness. Doesn’t get rid of ALL my issues with my AMD GPU but you knowwwww. most of them are gone now :slight_smile: Still working through my settings to get the last little tiny stutters gone.

1 Like

This definitely makes a noticeable difference. I have a 6800XT and 7800X3D and the game is an unplayable stutterfest if not for this.

1 Like

Good to hear.

Which version of the tweak did you use?

I have Nvidia too. Which settings did you change?

The first messages includes these changes. I am curies that is fatshark aware of these changes? How are these settings change the performance this big?

2 Likes

@FatsharkJulia is the team aware of these changes having a very positive effect on both AMD and Nvidia systems?

Seems like it could be an easy win in a patch.

1 Like

I tried your later values with 128/64/400/128/400. I have also tried experimenting with polling rate lowered and SAM off but later ended up re-enabling.

I noticed that regardless of these values and SAM on/off, certain things ALWAYS cause stutters, like players loading in/out and very noticeably scrolling up and down in the cosmetics menu brings the game down to a slideshow.

In the past hovering my mouse over weapons/cosmetics etc would at worst show a low LOD model, now I get a full on stall till the thing is loaded in highest LOD.

So while this does help, I wanted to note that its not a perfect solution to whatever they messed up and in the end the game rn is still stuttery and the UI experience is quite abysmal aswell. It feels more like a bandaid solution, but I still wanted to say thanks.

Yeah, having a player connecting as well as cosmetics will always cause stutter.

I think player connecting is an engine thing as Helldivers has the same experience and uses the same engine. With menus stuttering, this is because these things aren’t cached in RAM or VRAM and so have to load off the Hard Drive.

You can mitigate these menu loading issues with a mod called DarkCache, but this can cause issues depending on your system specs.

I do all my testing with mods disabled as well to ensure that nothing is causing random issues.

1 Like

This is what I landed on:

streaming_buffer_size = 128
streaming_max_open_streams = 64
streaming_texture_pool_size = 512
surface_properties = “application_settings/global”
texture_streamer_settings = {
streaming_buffer_size = 128
streaming_texture_pool_size = 1024

I also set mesh_streamer_settings = {
disable = true

This will make the portraits populate slowly, but it’s eliminated texture pop-in entirely for me.

The downside is that every time there’s a patch and I have to verify files, it resets these settings. But the performance is night and day.

It was extremely strange because I was hitting 120+ FPS, but the stutter was awful. This smoothed it out.

1 Like