*IMPORTANT* REAL Stutter Fix (PIN THIS)

First off, I rarely post anything, but after reading about this in UE3 based games over and over again and having a unique knowledge of the unreal engine (I've playtested games based on all of them) I could sit idle no more.



Ok, so you have read countless drobes of stuff on how to fix stutter or hitching or frame lag or whatever you want to call it, and you really can't find something that "works" period. Search no more, you have found IT.



READ COMPLETELY



This guide will not feature technical explanations as to why the settings work. It is writ for the everyday gamer. It is important to note that the UE3 engine was designed with consoles in mind and needs to be optimized for PC use. YOU MUST INCLUDE ALL CHANGES. Do not attempt unless you have a decent knowledge of what you are doing(and how to undo it). This will not effect the ablilty to play online and does not fall outside the guidelines of VAC.



And yes you may have seen some of these settings and tried some of them but they MUST all be done together for this to work properly because many settings affect the timing of other settings since this is a streaming based engine. TRY IT this way 1st. plz. give it a chance.



This WILL NOT fix choppy bink video playback as that is plugin based and not engine based. That is a different animal altogether (its very poorly coded for multi-core cpus)



THIS FIX WORKS FOR ALL UE3 BASED GAMES.(well tested)



I need to take a moment to explain that this will fix the kind of stutter that you get even on med to high-end hardware commonly called load/frame hitching. This is where your getting great Frames Per Sec (as reported by fraps or afterburner) but it "looks" choppy. Poor performace (I.E. running a game at settings you know your HW can't run well) will not see a serious decrease in hitching, though it will still help a fair bit. You can really tell the difference if you run with vsync ON and compare BEFORE FIX/AFTER FIX smoothness. It is very, very obvious. Anyhow....



ALL GAMES MUST HAVE COMPLETED FIRST RUN. (1 startup then exit)



1st Goto \ users \ yournamehere \ documents \ my games \ gamename \ ...... \ config.

(Note: EA games sometimes use "EA Games" instead of My Games)

Make a Backup of the "engine" ini file just in case you need it.



2nd Open the "engine" ini file in notepad (or your text ed of choice) Find and change the following lines ( just use ctrl-f ) taking care to match the settings to your system where noted. Also some of these settings you may not have to change IF they already match what is given.



Here they are: (REMEMBER, READ CAREFULLY, MATCH EXACTLY)

"*"=setting

"bUseTextureStreaming=True" (these are default for most but not all UE3 games)

"bUseBackgroundLevelStreaming=True"

"MipFadeInSpeed0=0" (these even out mipmap loads and draw time)

"MipFadeOutSpeed0=0"

"MipFadeInSpeed1=0"

"MipFadeOutSpeed1=0"

"PhysXGpuHeapSize=64" (these balance physx calls even on cpu based physx titles)

"PhysXMeshCacheSize=16"

"bSmoothFrameRate=TRUE" (this really does need to be on, ignore what you've read)

"MinSmoothedFrameRate=30" (keep these right here. setting higher/lower does no good)

"MaxSmoothedFrameRate=400"

"bInitializeShadersOnDemand=True" (reduces overall shader batch call size)

"DisableATITextureFilterOptimizationChecks=False" (driver based opt is MUCH faster)

"UseMinimalNVIDIADriverShaderOptimization=False" (same here)

"PoolSize=256" or (vidmem/poolsize exmpl: 512/128, 1024/256, etc, DO NOT exceed 768)

"bAllowMultiThreadedShaderCompile=True" (should already be on by default)

"ThreadedShaderCompileThreshold=4" (formulate like this: # of cpu-cores (not threads) -2)

"OnlyStreamInTextures=True" (reduces overall texture batch call size)



Check for multiple instances of these settings within this file as some games have them listed twice and you must change both (I.E Xcom:Enemy Unkown)



Now save the file, then right click it, choose properties and then set it to "read-only".

Launch your game, choose reset to defaults under that games graphics settings, then set them up how you want. These settings get saved to your profile file for that game and use the engine ini as a base. They are not saved to the ini file therefore it wont matter that it is read-only. However there are a few rare exceptions (SEE NOTE BELOW)



THAT'S IT.



All other settings in the file should be left at there defaults

(Yes, even "SizeOfPermanentObjectPool". FYI This can hurt performance if set different from defaults because it can actually increase frame call time if set incorrectly)



All changes asume that you have steam cloud sync on. If not, changes you make may be overwritten if you turn on cloudsync after the fact and may need to be re-done.



(SPECIAL NOTE) Some UE based game like BatmanAA or AC need to be configured how you want it 1st THEN do the fix minus the reset defaults part. You will also need to modify the "userengine" ini file in the same folder as the one above to match any relevent settings.



If you have done everything correctly YOU WILL NOTICE IT. Unlike other "fixes" the performance of this one will be VERY obvious, Especially for ATI/AMD owners. In fact the title screen loading for Dishonored is a dead giveaway (which is why I put this in here)



Special thanks to:

xbit411, lawn_dartmouth, z1g1t and the guys at the beta labs at AMD for help w/this.



Peace. MG.