UPDATE: On some newer UE3 games, enabling vsync either in-game or from the .ini files causes severe stuttering, particularly in crossfire. If you run into such a game, you need to use D3DOverrider to force triple buffering. I can confirm this on a 4870×2 and a 570m in UDK, Tribes Ascend, Blacklight, Monday Night Combat, Hawken, and probably some others. Single GPU or Crossfire, same type of low framerate and stutter caused by vsync without triple buffering. Otherwise, no problems with a lot of older games like Borderlands.

Any movement or animation on any monitor screen is visually smoothest when it’s synchronized to the screen’s output, or refresh, rate. Vsync does just that. The Aero theme of Vista/7 looks nice and smooth when things are moving because it always has vsync enabled. Similarly, games should also have it enabled whenever possible. This even applies if you’re getting lower fps that’s not completely aligned to your refresh. For example in Crysis, I’ve seen it go around 35-45 fps, but looking really jerky until vsync is enabled.

Watch out for increased input lag, however. This is when you push a button or move your mouse, the action that should appear on screen gets delayed. Different engines handle this side effect better than others. Source engine appears to get almost unplayable with vsync enabled, unless you cap the game with fps_max (removed in Left 4 Dead and Left 4 Dead 2, so it’s a little more annoying). Unreal seems to be quite nice with vsync, especially since the engine can be set to render only up to your refresh to avoid the input lag seen in Left 4 Dead. Unreal also appears to have triple buffering built in, helping if your system cannot render as fast as your refresh: It won’t just jump straight down to half fps, but render as fast as it can with light ticking stutters.

Anyway, on with the Unreal tweaks. You’ll need the *Engine.ini and *Input.ini files for the game you’re adjusting. You’ll have to figure out where they’re located, but it’s usually either in MyDocuments or AppData. Here are a few:

Alien Breed 1

#MyDocs#\My Games\UnrealEngine3\AlienBreedEp1Game\Config\

Borderlands

#MyDocs#\My Games\Borderlands\WillowGame\Config\

Homefront

#MyDocs#\My Games\HOMEFRONT\GCGame\Config\

Mass Effect

#MyDocs#\BioWare\Mass Effect\Config\

Medal of Honor

#MyDocs#\EA Games\Medal of Honor\Config\

Mirror’s Edge

#MyDocs#\EA Games\Mirror’s Edge\TdGame\Config\

Moonbase Alpha

#MyDocs#\My Games\Moonbase Alpha\MoonBaseAlphaGame\Config\

Rock of Ages

#MyDocs#\My Games\UnrealEngine3\BoulderGame\Config\

Sanctum

#MyDocs#\My Games\Sanctum\SanctumGame\Config\

Section 8

#MyDocs#\My Games\Section8\S8Game\Config\

UT3

#MyDocs#\My Games\Unreal Tournament 3\UTGame\Config\

Under the Engine.ini, find the smooth framerate parameters. When set to false, I noticed lots of stuttering in Mirror’s Edge, so I always keep it on just as it is by default. I just put the min at 0. More importantly, fix the max since it’s always at 62 at default (why!), make it 60 or whatever your refresh rate is:

bSmoothFrameRate=TRUE
MinSmoothedFrameRate=0
MaxSmoothedFrameRate=60

Also find the vsync toggle if there is none in your in-game options, might as well do it now since you’re in the Engine.ini:

UseVsync=True (note the message at the top of this page)

Now go to the Input.ini. It seems that in Unreal Engine, when you’re fps starts dropping with mouse smoothing enabled (which is usually default), the mouse movement starts accelerating! This completely throws your aiming way off. Turn smoothing off and your movements should be the same on screen whether you’re 60, 40, 20, or any fps:

bEnableMouseSmoothing=false

Now your Unreal Engine based game is as smooth as it can be! Unless of course your system isn’t powerful enough to sustain 60/refresh framerates, but it’s still less jerky than if the image was tearing or your mouse control was changing speeds. Have fun!

Of course, this is all separate from any actual in-game options that raise or lower details. Even if you can’t stay at a constant 60 (or whatever your refresh is), these tweaks still apply to make it smoothest even at lower fps.

@DOOMJESUS, yeah a 4870×2 is real crap hardware isnt it…, other people have seen this too
the input lag during uncapped vsync is simply longer compared to capping to 60 with vsync, & yes it’s quite possible that AFR being used in crossfire introduces an additional delay
i should mention that around september 2009, a driver update really helped reduce the input lag

maybe i’ll make a slow motion video sometime

10specular said at 10:21 am on April 29th, 2012:

I know this is an old post but this helped me get Hunted: The Demon’s Forge running super smooth. Thanks.

11Asura said at 6:57 pm on February 3rd, 2014:

Hey, thanks alot for this useful advice! It helped me really, now this game is enjoyable haha

12Name BR said at 5:40 pm on August 31st, 2014:

This made Marvel Heroes like a new game for me. Nothing else had worked.