most likely it wont be until after christmas, since it might be deemed to risky since we have not done enough internal testing on it yet. My plan is to make sure the experimental branch is up to date until then. I can see if this changes if we get more positive feedback.
Great thanks for the info Axloss, much appreciated and keep up the good work.
I might try out the build soon then.
Can an accessible setting be made to switch the muzzle flame and power sword attack impact effect.
My eyes cannot withstand high-intensity frequent flashes.
Hi Julia,
I want to report that this tutorial does not work anymore.
When opening the launcher for darktide, the launcher will wipe the direct storage settings pasted at the top of the config file. You have to set the file to read only, thought this bugs out the launcher and causes all settings to be reset.
Would be nice if you could pass this along to the team. Thanks
Hi Axlos,
I have done some testing and I dont seems to get any hard hitches anymore. My games performance is still horrible when loading into areas as well as when hordes / enemies spawn I get massive FPS drops and microstuttering. I also will sometimes get these mid combat.
I’ve also noticed that launching the launcher will wipe the direct storage override settings in the user_settings.ini file and remove them from the top. Because of this, I can’t be sure if I am truly altering the direct storage settings or if my settings are being reset by the launcher.
I also tried setting my file to read only, but none of my settings were applied so I assume that also would not apply the direct storage modifications as well.
All in all, I think the hard hitches are gone, but the terrible fps drops on AMD GPUs are still a thing.
I will continue to test to attempt to fix this issue.
Edit:
I definitely notice an improvement with Re sizeable Bar off… still pretty bad performance though.
I think this is another issue, more related to exclusive fullscreen.
I think it’s likely better to create a new thread regarding that issue so we can track it seperatly.
I would check out this.
This user also had some issues and seems to have resolved it. You could potentially piggy back on that thread if you dont resolve it.
this also means you are running the settings we want atm, since we want to evaluate direct storage related issues. So you probably dont need to do anything in this case.
edit: I know ppl are running the game with direct storage off so it does work for certain ppl (including me i think, I have yet not had the time to check out your issue).
Hi again Axlos
I have been doing more testing and I have managed to eliminate essentially ALL of my reaminign performance issues with my AMD GPU through adjusting the texture streaming settings. I have gotten to a point where my game runs as smooth as Space Marine 2 and the input lag is amazingly low. Not to mention my textures are super crispy and my frame rate has improved (I am averaging 150fps on high settings vs a stutter mess at 110)
Im not sure if you are directly involved, but passing this along to someone else in the team might help get started some sort of investigation into texture streaming configs and AMD GPUs.
Texture streaming settings i’ve modified under settings_common.ini are as follows
streaming_buffer_size = 256
streaming_max_open_streams = 64
streaming_texture_pool_size = 400
surface_properties = "application_settings/global"
texture_streamer_settings = {
streaming_buffer_size = 256
streaming_texture_pool_size = 800
I am aware that depending on the configuration of the PC of the user this may cause issues. But so far for me, this is BY FAR the best performance i’ve had, I would say its better than my experience with i’ve had with NVIDIA
I can take a look since I dont know the default settings, but perhaps texture streamer has similar issues that we just resolved for the audio system.
I tried out the new update on the experimental branch with default direct storage settings. Played a couple of matches and neither the apocalyptic micro-stuttering nor the audio interruptions were there. Ik I said I was gonna record my “vanilla” experience but I suppose there’s no need for it now.
Here are the default settings:
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
I noticed that as I increased the streaming_buffer_size value to get closer and closer to the VRAM access limit of 256mb my stutters and FPS drops would decrease, my performance would smooth out and my FPS would increase. Once I hit 256 as well as 800 for the second streaming_texture_pool_size value, all my issues were solved.
Note this is with AMD Smart Access Memory (Resizable Bar off), this game just does not like having that setting on whatsoever.
My guess is that these default settings of low buffer size with high open streams may work for NVIDIA, but for AMD Graphics, it just causes issues.
I have heard reports of this improving performance for NVIDIA users as well as i’ve been community sourcing testing, its just that NVIDIA doesn’t have as poor performance as a baseline.
I hope im not coming off as a know it all or a person who knows nothing. I just REALLY love this game and have been wanting this game to run well on my AMD Graphic card for over a year.
I have finally found a solution and am hoping to see this tested / rolled out to other people suffering with the same issues.
Following up on this, it seems that the bigger I set the streaming_buffer_size value, the smoother my gameplay is? Im not sure what the buffer is, could it be what textures are cached in RAM or VRAM?
Either way, as long as these settings aren’t removed from the config file, there is going to be room to improve performance for me. I’m just going to keep fiddling with values and see if I can get AMD SAM to also be smooth
I will forward this regardless.
I’m pretty sure we should be able to have these settings in the user config so it’s easy to have your own setup. But im not 100% what they all mean and why they are duplicated.
the current plan is to add the changes from the experimental branch to 1.6.2 unless anything changes before then.
Thanks Axlos,
I dont know exactly what these settings do. I can only draw assumptions from changes in RAM and VRAM usage, as well as names themselves.
Hi Axloss,
I have one final report on my experience messing around with these settings for my AMD Graphics card (7900xtx). These texture streaming settings are as close as I can get to an almost perfect experience while playing darktide.
AMD SPECIFIC REQUIREMENT: AMD SAM / RESIZABLE BAR MUST BE DISABLED
Apply these settings to the texture streamer to settings_common.ini
streaming_buffer_size = 128 /* this can also be 64, the difference is marginal */
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
I have also had multiple success stories from many NVIDIA users using GPUs from the 2000, 3000 and 4000 series lineup of ‘smoothness’ and framerate improvements.
I hope this can help the team start a deeper look into the optimisation of the texture streamer for this game.
to update, these fixes in experimental is now live in 1.6.2.
If there is code that causes stutters by telling audio not to play, could having music at 0% cause stutters? Honestly just a curiosity
I don’t think so, the code that caused stutters was the the audio io thread was stalling the game thread if opening streamed files was slow (most likely).
To be honest I doubt the game care about the audio volume, depends how smart wwise is, but from gameplay perspective it makes no sense optimizing for it.
I wonder if we’d be able to tinker with the WWise settings in the settings_common.ini file?
These are the defaults
wwise = {
data_dir = "wwise"
device_granularity = 32768
device_io_memory_alignment = 4
device_io_memory_size = 8388608
device_max_concurrent_io = 8
device_use_stream_cache = true
enabled = true
init_command_queue_size = 2097152
language = "English(US)"
ps5 = {
}
spatial_max_sound_propagation_depth = 4
startup_banks = [ "wwise/Init"]
win32 = {
}
xbs = {
}
}
Maybe the device_max_concurrent_io value