Insurgency: Sandstorm

Insurgency: Sandstorm

108 ratings
INI Edits to Fix Hitching/Stuttering WITHOUT Reducing Quality (Updated for v1.1.3)
By El Asso Wipo
This is an updated tweak guide to my original, meant for v1.1.3. There have been numerous changes by NWI under the hood, so I had to change some of my tweaks. If you'd like to see the old guide, you can still find it HERE. These tweaks don't always fully eliminate the microstutters, but they pretty much get rid of the big hitches and make things smoother overall.
   
Award
Favorite
Favorited
Unfavorite
Introduction
***I used to recommend the older 399.24 nVidia drivers for anyone with a GTX 10x0 or earlier card, since they used to be MUCH better than any of the 4xx drivers have been. But that has changed with the new 419.67 "CRD" drivers -- they are the FIRST and ONLY 4xx series drivers I'll recommend, and have actually been better than the old standby 399.24's for me. Get them!***

First things first: after updating to v1.1.3, you need to navigate to your Sandstorm INI files and DELETE all them, then relaunch Sandstorm and redo your audio and video settings in order to recreate the INI files fresh. You can then quit Sandstorm and navigate back to the folder to do the editing.

The INI files are located here in Windows (you should back them up now, in case you want to just drag them back and go back to your previous settings): "%LOCALAPPDATA%\Insurgency\Saved\Config\WindowsClient".




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 HERE if you want them, 1TB Samsung 850 Pro SSD, 27" 2560x1440 @ 120hz.

Now, onto the updated guide...
Initial Settings (Before Editing Your INI Files)
You will want to set Sandstorm up with whatever settings you already normally use, and just add my INI tweaks to them afterwards. Not every system runs the same, and your settings will work better for YOU.

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

Display Mode: Fullscreen
Resolution: Your Preferred Resolution
Vertical Sync: ON (avoids tearing that seems worse in v1.1.3 -- this will be forced to "Fast" in the nVidia control panel later)
Gamma: 2.18 (looks nicer/richer to me than the default 2.2)

Field of View: 90.0 (any higher looks weird and hurts performance)

Anti-Aliasing: TAA (we'll tweak this in the INI to look very good, don't worry)
Texture Quality: I'd try to keep this at Very High or High, if possible.
Effects Quality: Affects performance somewhat, lower to High or Medium.
Foliage Quality: Affects performance somewhat, lower to High or Medium.
Shadows Quality: Affects performance A LOT, so lower this to High or Medium.
Post-Processing Quality: I'd try to keep this at Very High or High, if possible.

Frame Rate Smoothing: ON (actually does seem to help keep things smoother)
Frame Limiter: 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 (hurts performance noticeably)
Ambient Occlusion: Off (EXTREME performance killer, NEEDS to be off)
Anisotrophic Filtering: Use 8x or 16x (doesn't hurt performance, but really helps visuals -- so keep it high)
Tesselation: On (doesn't really reduce performance much, but REALLY helps visuals -- so keep it ON if poissible)
Screen Space Reflections: Medium (I don't really see a big difference between Medium and High, so I keep it on Medium for more performance)
Dynamic Shadow Resolution: Depends on your card, but usually 512x512 is a good setting for most.
Cascaded Shadow Map Resolution: Depends on your card, but usually 512x512 is a good setting for most.
Texture Streaming Pool: High (We're going to tweak this value later. 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 (400MB) or High (1GB) limits it TOO much.)

OK, now quit Sandstorm and navigate to the INI folder again to start our edits.
Editing the Engine.ini
Next, open up Engine.ini in your WindowsClient folder (it should open in Notepad). All that should be in this INI at the moment is [Core.System] with a 10 lines that start with "Paths" (do not edit these). Here is what it should look like stock/undedited:



(*PAY CLOSE ATTENTION to the part that says "r.Streaming.LimitPoolSizeToVRAM=5120" and "r.Streaming.PoolSize=5120". That value should be 62.5% of your total available video card RAM! My GTX 1070 has 8GB, or 8192mb, of RAM. 62.5% of 8192MB is 5120MB, thus my value there. I will list common values so you don't have to do the math yourself:

Total VRAM - - - Use This Value
.....12GB - - - - - - - - - 7680.....
.....11GB - - - - - - - - - 7040.....
......9GB - - - - - - - - - 5760......
......8GB - - - - - - - - - 5120......
......6GB - - - - - - - - - 3840......
......4GB - - - - - - - - - 2560......
......3GB - - - - - - - - - 1920......
......2GB - - - - - - - - - 1280......
......1GB - - - - - - - - - 640.......

At the bottom of the document after the [Core.System] section, add the following lines (Easily copied from this list):

[ConsoleVariables] AllowAsyncRenderThreadUpdates=1 AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1 AllowAsyncRenderThreadUpdatesEditor=1 s.AsyncLoadingThreadEnabled=1 r.OptimizeForUAVPerformance=-1 [/script/engine.garbagecollectionsettings] TimeBetweenPurgingPendingKillObjects=15 [TextureStreaming] r.Streaming.LimitPoolSizeToVRAM=YOUR CALCULATED VALUE FROM MY CHART r.Streaming.PoolSize=YOUR CALCULATED VALUE FROM MY CHART r.Streaming.UseNewMetrics=1 r.Streaming.UseMaterialData=1 r.Streaming.HLODStrategy=2 r.Streaming.FramesForFullUpdate=240 [SystemSettings] r.PostProcessAAQuality=6 r.TemporalAACurrentFrameWeight=0.25 r.TemporalAASamples=8 r.TemporalAASharpness=0.7 r.Tonemapper.Sharpen=0.8 r.TemporalAACatmullRom=1 r.SkeletalMeshLODBias=0 r.ViewDistanceScale=1 r.ScreenPercentage=100

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

Here is what my Engine.ini looks like after the edits:



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=####" and "r.Streaming.PoolSize=####". Note that you will have to ADD the ("r.Streaming.LimitPoolSizeToVRAM", (Value=####,bModified=True) part to your INI, as it will not be in there by default.Here is my chart again for reference:

Total VRAM - - - Use This Value
.....12GB - - - - - - - - - 7680.....
.....11GB - - - - - - - - - 7040.....
......9GB - - - - - - - - - 5760......
......8GB - - - - - - - - - 5120......
......6GB - - - - - - - - - 3840......
......4GB - - - - - - - - - 2560......
......3GB - - - - - - - - - 1920......
......2GB - - - - - - - - - 1280......
......1GB - - - - - - - - - 640.......

You will want to change or add the following lines within that "OverrideOptions" section:

("r.ScreenPercentage", (Value=100,bModified=True)) ("r.Streaming.PoolSize", (Value=####,bModified=True)) ("r.Streaming.LimitPoolSizeToVRAM", (Value=####,bModified=True))

Again, the "Value=####" will need to be filled with the value from the chart above, based on your total VRAM.

Next, search for "Limit". There may or may not be a line called "FrameLimit=###" and/or "FrameRateLimit=###.######". If one or the other isn't there, add it. Make sure they are the same value as each other. You can change it to anything you'd like if the in-game options are too restrictive (e.g. you can set them to 75 and 75.000000 respectively for a 75 fps limit).

Next, search for "DisplayGamma=2.#####". I like this set to "DisplayGamma=2.18000", as it makes the game look lusher and deeper than the default "2.20000" setting.

Next, if it isn't in the INI yet, add these lines to get rid of the tutorial prompts:
SeenMenuPrompts=TutorialPrompt
SeenMenuPrompts=GametypeModalCooperative

And Lastly, scroll to the bottom of the INI, and you'll find a section named [ScalabilityGroups]. It shouldn't have changed anymore, but just in case, check to see if "sg.ViewDistanceQuality=3", and not "sg.ViewDistanceQuality=2". Makes a big difference in view distance quality, and was something NWI changed in the old v1.1.1 patch, but seem to be back to 3 in the newer patches. But, just in case...

OK, we're done! 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 by the game. 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.

Next, we'll edit the nVidia Control Panel settings.
Editing the nVidia Control Panel
Open your nVidia Control Panel (you can usually right-click on the desktop and select it from the context menu).

When the control panel opens up, navigate to "Manage 3D Settings" under the first section. It is up to you here whether you want to make this a GLOBAL change (ALL games will use these settings), or just Sandstorm (will be under the Program Settings tab, then in the dropdown menu select "Insurgency Sandstorm (insurgency.exe)"). Scroll to through and change the following settings to:

Ambient Occlusion = Off
DSR - Factors = Off
Power management mode = Prefer maximum performance
Preferred refresh rate (Digital Display) = Highest available
Shader Cache = On
Texture filtering - Anisotropic sample optimization = On
Texture filtering - Negative LOD bias = Allow
Texture filtering - Trilinear optimization = On
Threaded optimization = On
Triple buffering = On
Vertical sync = Fast

The rest can stay at "Application-controlled" or default. Hit Apply to save the settings.

OPTIONAL: As seen in the recent guide by CNN is FAKE NEWS. I don't know if this actually will help you or not, but it seems it has helped some people -- so I'll include it here. Navigate to "Configure Surround, PhysX" under the "3D Settings" section. In the dropdown menu under "PhysX settings --> Processor:", change it "CPU" and hit Apply.

Now you can close the nVidia Control Panel. That's it! You should be ready to launch Sandstorm again and see if these tweaks helped. Spread the word if it does!
Closing
Please, if this guide helps your stuttering problems, pass it on to others to try! 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 fresh in order to avoid any conflicts/issues.)
40 Comments
columboolean operator Aug 18, 2022 @ 7:29pm 
Apropos "Streaming.LimitPoolSizeToVRAM" should be set to "1", not your VRAM number.
For me, the VRAM number resulted in higher utilisation of my VRAM. I set 10240 (16GB Card) and saw around 10 GB (Poppy field) used. When set to 1 I saw 6.6 GB (Ministry). Now, I have t say that was on different maps. I could not test on the same map as my game does not find any servers. (support does not comment on my ticket).
So, map size and GB in use, for me it did not matter much. I stick with 10240, ...the VRAM calculation.
semen tank Dec 18, 2021 @ 8:40am 
Optimizing a game shouldnt be this laborius
Dr.StrangeSpock Jun 20, 2021 @ 8:37pm 
CNN is FAKE NEWS Run by traitor oligarchs
PsyCoGeek Jul 8, 2019 @ 3:46pm 
That's not the goides fault Eduardo1999... happened to me as well a few weeks ago.
Eduardo1999 Jul 8, 2019 @ 1:42pm 
deleting all config files now crashes Steam when trying to start Insurgency Sandstorm. thanks
JDZ5 Jul 4, 2019 @ 10:25am 
Didn't fix it for me
[ACPL] Jon Jun 26, 2019 @ 1:13am 
Confirming it works wonders (used "1" in case of the setting "LimitPoolSizeToVRAM")
Zach Fett Jun 21, 2019 @ 8:16am 
As Fitfit said, you need to update your guide because "Streaming.LimitPoolSizeToVRAM" should be set to "1", not your VRAM number.

Also your title is misleading because the guide tells you to disable certain graphical settings so.. it is definitely reducing quality if you follow it directly.
Fitfit Jun 19, 2019 @ 11:43am 
It's very nice to try to help people, but you do not explain what these features do and the values for them.

Pretty sure one should use Streaming.LimitPoolSizeToVRAM=1
Winged Wolf May 13, 2019 @ 6:41pm 
Titles his guide "INI Edits to Fix Hitching/Stuttering WITHOUT Reducing Quality", most of the edits do actually reduce quality... good...