Making Unreal Engine 3 Games Their Smoothest

Posted: May 15th, 2010 | Author: | Filed under: Software, Tips/Tutorials
Tags: , , , , ,

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.

Quick tip for Unreal Engine: Fix the awful defaults. Mainly, set the smooth framerate option to match your refresh, enable vsync, and disable mouse smoothing.

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.

Last Modified: September 23rd, 2013

12 Comments »

12 Comments on “Making Unreal Engine 3 Games Their Smoothest”

  1. 1 Jazz said at 4:08 am on May 17th, 2010:

    Cool

  2. 2 Vanes said at 12:15 pm on July 3rd, 2010:

    Even better, UT3 has an option in one of the more recent patches, something about one frame thread lag. Turn it off (It’s on by default) and you’ll have almost no input lag.

  3. 3 kn00tcn said at 8:13 pm on July 3rd, 2010:

    I cant really feel it compared to source, maybe source has a similar option (also gotta try tommti’s tool).

  4. 4 frozer said at 8:12 am on July 17th, 2010:

    it was very interesting to read.
    I want to quote your post in my blog. It can?
    And you et an account on Twitter?

  5. 5 kn00tcn said at 7:54 pm on July 17th, 2010:

    @frozer Quote it with a link, I don’t use twitter much at all….

  6. 6 Ripcat said at 2:25 pm on August 2nd, 2010:

    Where is the file for Transfromers war on cybertron because their not their

  7. 7 kn00tcn said at 2:28 pm on August 2nd, 2010:

    @Ripcat, it has to be somewhere… appdata or mydocs or even the game’s folder

  8. 8 DOOMJESUS said at 8:52 am on October 20th, 2011:

    “Source engine appears to get almost unplayable with vsync enabled, unless you cap the game with fps_max”

    i don’t what kind of crap hardware you experience this on but it has NEVER been the case in my experience, on any hardware…

  9. 9 kn00tcn said at 3:43 pm on October 20th, 2011:

    @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

  10. 10 specular 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.

  11. 11 Asura 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

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

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


Leave a Reply