Insurgency: Sandstorm Guide

INI Edits to Fix Hitching/Stuttering WITHOUT Reducing Quality for Insurgency: Sandstorm

INI Edits to Fix Hitching/Stuttering WITHOUT Reducing Quality

Overview

Are you sick and tired of the hitching, stuttering, jumpy, skipping mess that the latest patch has made Sandstorm on your system? Have you been losing kills due to the inconsistent framerate RIGHT when you need it to be smooth? Well, after spending hours and hours looking over guides and tweaking the INI files, I realized most of the guides involved trading graphic quality for better performance at all cost. If I wanted to play a game that looked like Counterstrike, I’d play Counterstrike… So, I set off on a journey of improving performance and minimizing the hitching and stuttering that plagued myself and many others, WITHOUT making the game look like is running on a graphics engine that is 10 years old. Here, I present you my hours of research, tweaking, and testing. Please enjoy!

Introduction

UPDATE 03/07/19: With the release of Patch v1.1.1 by NWI, some of this guide is now unnecessary. You may still want the better Antialiasing/Sharper Textures ([SystemSettings] section of the Engine.ini edit), and you STILL definitely want to do the “r.Streaming.LimitPoolSizeToVRAM=####” and “r.Streaming.PoolSize=####” settings in Engine.ini and “(“r.Streaming.PoolSize”, (Value=####,bModified=True)),(“r.Streaming.LimitPoolSizeToVRAM”, (Value=####,bModified=True))” edits in the GameUserSettings.ini. My tweaks under the Engine.ini sections [ConsoleVariables] and the other parts of [TextureStreaming] are no longer needed, due to patch v.1.1.1 making things very smooth once again. Also, I still stand by my recommendation of the 399.24 nVidia drivers if you have a GTX 10×0 or earlier card — they are MUCH better than any of the 4xx drivers! Thanks again!

Hello all. I was sick and tired of the hitching and stuttering after the latest Sandstorm patch, so I decided to do something about it. I have been trying a METRIC C**PTON of different INI edits — some previously suggested for this game specifically, and some for other Unreal Engine 4 games. I swapped in and out different suggestions, changed values, screwed up and started over a couple times, etc. But after many, many, MANY revisions — I think I’ve FINALLY found a good combination that doesn’t lower graphic QUALITY in exchange for performance! I played a few full games of co-op and I didn’t get a SINGLE instance of hitching, stuttering, or skipping… I was elated and wanted to share! And as an added bonus, I am now getting a good 20%+ more fps than before (though that was never the main issue, the hitching was).

Relevant parts of my system for your comparison are: i7-3770k @ 4.5GHz, overclocked GTX 1070 8GB, 32GB DDR3 RAM, latest Windows 10 Pro, Tweakforce Xtreme-G Modified nVidia Drivers (get them https://www.reddit.com/r/XtremeG/new/ if you want them — I went back to their 399.24 driver, since the 4xx’s have been buggy), 1TB Samsung 850 Pro SSD, 27″ 2560×1440 @ 120hz.

If you’d like to edit your own INI files, they are located here in Windows (you should backup your INI files now, in case you want to just drag them back and go back to your previous settings): “%LOCALAPPDATA%InsurgencySavedConfigWindowsClient”. If you haven’t done so since the patch dropped, do go there and delete ALL the INI files, then relaunch Sandstorm and redo your audio and video settings in order to recreate the INI files fresh.

Now, onto the guide…

Initial Settings (Optional)

Now, you may want to set Sandstorm up with what settings you already use, and just add my INI tweaks to them. Not every system runs the same, and your settings will probably work better for YOU. These tweaks are not to visual QUALITY, so it’s up to you to find what initial in-game settings you can live with.

That being said, if you’d like to copy MY settings or take some of my suggestions, below is what I found worked best for me. They didn’t drop visual quality much at all — though they affected framerate enough to change/lower. I also uploaded a screenshot of my settings before the INI tweaks.

*(REMEMBER when you change your INI, if you change any settings in-game after, you might have to go back into the INI and do the changes again.)*

Display Mode: Fullscreen
Resolution: 2560×1440
Vertical Sync: OFF
Gamma: 2.2

Field of View: 90.0

Anti-Aliasing: TAA (we’ll tweak this in the INI to look very good, don’t worry)
Texture Quality: Very High
Effects Quality: High
Foliage Quality: High
Shadows Quality: High
Post-Processing Quality: Very High

Frame Rate Smoothing: ON (really seems to help keep things smoother)
Frame Limiter: 120 FPS (set this to YOUR monitor’s refresh rate to limit tearing and skipping)
Motion Blur: Off
Scope Setting: Normal
Dismemberment: On
Ragdoll Count: Low
Super Sampling: Off
Ambient Occlusion: Off
Anisotrophic Filtering: 16x
Tesselation: On
Screen Space Reflections: Medium
Dynamic Shadow Resolution: 1024×1024
Cascaded Shadow Map Resolution: 1024×1024
Texture Streaming Pool: High (we’re going to tweak this value later, to 2GB below your video card’s total RAM — I believe that turning this OFF and thus not limiting it to a value fills up your GPU RAM and causes stutters. But, setting it to Low or High limits it TOO much. Apex: Legends has a better idea for this setting, which you will see my reasoning in the next section.)

OK, now quit Sandstorm and navigate to the INI folder again.

Editing the Engine.ini

Next, open up Engine.ini in your WindowsClient folder (it should open in Notepad). At the very bottom of the document, add the following lines:

(*PAY CLOSE ATTENTION to the part that says “r.Streaming.LimitPoolSizeToVRAM=6144” and “r.Streaming.PoolSize=6144”. That is what I said should be 2GB less than your total available video card RAM! My card has 8GB, or 8192mb or RAM. Subtract 2GB/2048mb from that, and I get 6144, thus my value there. I got the idea to do it this way from Apex: Legends and how it was suggested to select a “Texture Streaming Budget” that is 2GB less than your VRAM, so I applied that line of thought here for Sandstorm. I believe the developers should change the options from “off, low, high” to actual GB numbers like in Apex: Legends and have a tooltip to pick the amount 1 step below your total VRAM.*):

The Apex: Legends setting I am referring to is shown here:

My Engine.ini Settings (after my tweaks — stock, it should only have the “Core System” section, and “Audio” if you changed the ‘app in the background’ setting in-game like I did):

Easily copied from this list:

[ConsoleVariables] AllowAsyncRenderThreadUpdates=1 AllowAsyncRenderThreadUpdates=1 AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1 AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1 AllowAsyncRenderThreadUpdatesEditor=1 AllowAsyncRenderThreadUpdatesEditor=1 s.AsyncLoadingThreadEnabled=1 r.DeferSkeletalDynamicDataUpdateUntilGDME=1 r.DeferUniformBufferUpdatesUntilVisible=1 r.DoInitViewsLightingAfterPrepass=1 r.SkinCache.Mode=1 r.ClearWithExcludeRects=2 r.CreateShadersOnLoad=1 r.OptimizeForUAVPerformance=1 [/script/engine.garbagecollectionsettings] TimeBetweenPurgingPendingKillObjects=15 [TextureStreaming] BoostPlayerTextures=1.0 r.Streaming.DropMips=0 r.Streaming.LimitPoolSizeToVRAM=6144 r.Streaming.PoolSize=6144 r.Streaming.MipBias=0 r.Streaming.UseNewMetrics=1 r.Streaming.UsePerTextureBias=1 r.Streaming.UseAllMips=1 r.Streaming.UseMaterialData=1 r.Streaming.HLODStrategy=2 r.UseShaderCaching=1 r.UseShaderPredraw=1 r.Shaders.FastMath=1 r.bForceCPUAccessToGPUSkinVerts=True r.Streaming.FramesForFullUpdate=240 r.Streaming.FullyLoadUsedTextures=1 r.VirtualTexture=1 r.VirtualTextureReducedMemory=1 [SystemSettings] r.PostProcessAAQuality=6 r.TemporalAACurrentFrameWeight=0.25 r.TemporalAASamples=16 r.TemporalAASharpness=0.7 r.Tonemapper.Sharpen=1 r.TemporalAACatmullRom=1 r.SkeletalMeshLODBias=0 r.ViewDistanceScale=1 r.SceneColorFringeQuality=0 r.SceneColorFringe.Max=0 r.ScreenPercentage=100

That last part helps make TAA a much nicer-looking option, and isn’t too crazy with system resources. I also sharpen textures up a bit to counteract TAA’s tendency to blur/smear the image a bit. (If this is too much for your system, you can try lowering the “r.TemporalAASamples=16” value to 8 or even 4. The default setting is only 2!)

Save the Engine.ini document and close it. Next we’ll edit the GameUserSettings.ini found in the same folder.

Editing the GameUserSettings.ini

Next, open GameUserSettings.ini. It should also open in Notepad. Scroll down and look for, or do a find for “OverrideOptions=” (no quotes), as that is what we are looking to edit. This is what mine will show:

(*AGAIN, PAY CLOSE ATTENTION to the part that says “r.Streaming.LimitPoolSizeToVRAM=6144” and “r.Streaming.PoolSize=6144”. That is what I said should be 2GB less than your total available video card RAM! My card has 8GB, or 8192mb or RAM. Subtract 2GB/2048mb from that, and I get 6144, thus my value there.*):

OverrideOptions=((“r.MotionBlurQuality”, (Value=0,bModified=True)),(“r.ScopeRenderMode”, (Value=0,bModified=True)),(“r.Dismemberment”, (Value=1)),(“r.RagdollMaximum”, (Value=4,bModified=True)),(“r.FoliageInteractionQuality”, (Value=1,bModified=True)),(“r.ScreenPercentage”, (Value=100,bModified=True)),(“r.AmbientOcclusionLevels”, (Value=0,bModified=True)),(“r.MaxAnisotropy”, (Value=16,bModified=True)),(“r.TessellationAdaptivePixelsPerTriangle”, (Value=48,bModified=True)),(“r.SSR.Quality”, (Value=2,bModified=True)),(“r.Shadow.MaxResolution”, (Value=1024,bModified=True)),(“r.Shadow.MaxCSMResolution”, (Value=1024,bModified=True)),(“r.Streaming.PoolSize”, (Value=6144,bModified=True)),(“r.Streaming.LimitPoolSizeToVRAM”, (Value=6144,bModified=True)))

If you copied my settings earlier, then everything should be the same already, except the (“r.Streaming.PoolSize”, (Value=6144,bModified=True)),(“r.Streaming.LimitPoolSizeToVRAM”, (Value=6144,bModified=True)). You may also opt to just add and/or copy those 2 settings into there instead onto the end of the list, only changing the values for both to the 2GB less than your video card RAM.

Next, scroll to the very bottom of the document, to where it says “[ScalabilityGroups]”. You may optionally change the first option that says “sg.ViewDistanceQuality=2” to “sg.ViewDistanceQuality=3” (before this patch, the default option was already ‘3’, but this patch scaled that back. I did not like the drop in view distance quality, so if you’d like, change it back to 3.)

Lastly, save the GameUserSettings.ini document, and close it. It is optional now to right-click on the 2 INI files we edited, select properties, then check the “Read-Only” box and then OK. That will make it so things can’t be changed again. But if you need to do some more tweaking to the in-game settings, you can always go back and uncheck the “Read-Only” box, and you’d probably want to do that before any patch/update as well. You may then launch Sandstorm, and please don’t change any more options in-game. Try it out, and see if it works for you! It REALLY REALLY helped a TON for me and many others so far!

Closing

Please, if this guide helps your stuttering problems, pass it on to others to try! I also hope the developers can figure out which settings helped the most and incorporate some of the changes. I am not a programmer or a developer or anything, I’m just a guy who likes the game and wants to see it succeed! I also want to play without wanting to smash my keyboard into my monitor… LOL!

Thanks an happy gaming!
El Asso Wipo

(PS: If a new patch, hotfix, or update of ANY KIND for Sandstorm is released, you should delete all of your INI files and start new in order to avoid any conflicts/issues.)
SteamSolo.com