UT (GOTY) and framerates Speed up.

  • Two Factor Authentication is now available on BeyondUnreal Forums. To configure it, visit your Profile and look for the "Two Step Verification" option on the left side. We can send codes via email (may be slower) or you can set up any TOTP Authenticator app on your phone (Authy, Google Authenticator, etc) to deliver codes. It is highly recommended that you configure this to keep your account safe.

Kantham

Fool.
Sep 17, 2004
18,034
2
38
It's ridiculous. I'm sure this has been posted before so don't mind me for bringing this here again... The problem is, that if I run the game on OpenGL, the game will go insanely fast and everything is unplayable. If I run the game in Direct3D, the game seems alright at first glance, then when I look at a corner the game constantly speed up.

I tried to run the game in Software rendering, and it worked. Except it looks like ass and well... I'm not a fan of CPU rending right?
 

Crowze

Bird Brain
Feb 6, 2002
3,556
1
38
40
Cambridgeshire, UK
www.dan-roberts.co.uk
Isn't it time we got a sticky thread describing this problem and the solutions? I'll have a go right here...

Problem: Unreal, UT and old Unreal-engine games run 'erratically' - the game speeds up and slows down at random, seemingly independent of the framerate.

Cause: This is caused by the way the Unreal engine calculates time, which is a little archaic has a number of issues with modern hardware - primarily because it is based on the CPUs clock speed, which on modern CPUs is automatically varied to save power, but it also has issues when the framerate is particularly high.

Quick Fix: Sorry, you're out of luck - this can be caused by a range of issues, so go through the solution step-by-step and see which ones actually fix the problem.

Solutions: Try the following in order - generally the first few tend to fix the problem for most people, and the latter are more extreme measures for problematic systems (dual-core laptops running Vista are particularly awkward).
  • If you have an AMD multi-core processor, install the AMD Dual-Core Optimizer (5th down). This is needed because of a bug with some AMD processors which means that the timers on the CPU cores aren't synchronised with each other.
  • UT has a built-in flag you can use to tell it the CPUs clock speed if it doesn't detect the speed correctly (it shows the detected speed in UT.log). Create a shortcut to UnrealTournament.exe and add ' -cpuspeed=X' to the end - without the quotes, and replacing X with you CPUs clock speed in Mhz.
  • As stated above, UT has issues with very high framerates (200+), you need to put a limit on it. The best way to do this is to install one of Chris Dohnal's updated renderers (OpenGL, D3D8 or D3D9) - this is worth doing anyway. Try OpenGL first, and if you have issues use D3D9 or 8.
    • Copy the .dll (and .int if present) to UT\System
    • Run the game in safe mode (create a shortcut to UnrealTournament.exe and add ' -safe' to the end)
    • When it asks to select a render device, click on 'show all' at the bottom and select the appropriate device
    • After the game starts up, open the console (normally the ~ key if I remember correctly), go to Render Devices > OpenGL (or D3Dx as appropriate), find the FrameRateLimit entry and set the value to 200.
    • While you're there, find the SwapInterval entry and set it to 0 - see the section on VSync for an explanation.
    Alternatively you can edit your UnrealTournament.ini directly to make these changes but you're on your own doing this, unless I update this guide that is.
  • The next step is to disable the CPU's power saving features before running UT. There are a number of ways to go about this depending on which operating system you use, so I'll list the easiest first.
    • On Windows XP, go to Control Panel > Power Options, and in the Power Schemes tab select 'Always On'. This can be done automatically in a batch file, as explained by Blitzschlag on the Infiltration forums.
    • In Windows Vista, go to Control Panel > Power Options and select the 'High Performance' profile.
    • In a modern Linux distro e.g. Ubuntu, the easiest thing to do is to use the EMIFreq applet - simply select either 'Performance' or a fixed speed.
    Failing this there are three ways to go about this, none perfect but all fairly fool-proof.
    • The first, and in my opinion the easiest, is to run a CPU-hungry process in the background. Prime95 is a good one to use as it defaults to running in the background, so won't interfere with UT at all.
      • Download Prime95 from the link above and extract it to any location
      • Run the application, and if nothing happens go to Options > Torture Test
      • Select 'Small FFTs' as it uses the least amount of memory
      • To start off, tell it to run only one thread - no need to waste any more power than is needed
      • Click OK and leave it to it
    • The second is to use a 3rd-party utility to manually set the CPU speed. These tend to vary in effectiveness though - I use RMClock on Windows XP but don't know if it supports Vista yet. Feel free to suggest any others.
    • The third is a little more involved, but if you aren't worried about power-saving you'll only have to do it once. Disabling power saving in the BIOS is a fairly fail-safe method, but the exact option to look for can vary depending on the CPU and BIOS type. Either way, you'll usually find the settings in something like Advanced Options or CPU Features. For AMD processors, look for Cool & Quiet and disable it. For Intel CPUs look for something like EIST Function, Thermal Control and C1E Function.
  • VSync (or Vertical Synchronisation) is a bit of a contentious issue - some people claim that enabling it solves the problem, while in my experience it can hinder things - try it both ways (0=off, 1=on). In a nutshell, it forces the video card to synchronise the swapping of buffers (i.e. outputting the picture) with each refresh of the monitor, in order to prevent 'tearing' effects where the monitor displays the upper part of one frame and the lower part of the next. On most modern flat panel monitors this is 60Hz, giving at most 60 updates per second, and in my experience a 60fps limit doesn't put enough load on a modern CPU to make it run at full clock speed all the time, meaning power saving will cut in and mess up the game speed.

Something I've missed, want anything clarified, have any suggestions, still can't get it working? Post here or PM me.
 
Last edited:

Kantham

Fool.
Sep 17, 2004
18,034
2
38
Hey Crowze thanks for the detailed post. But I still always have the same issue with the " -safe" / " -cpuspeed=x" in the shortcut. It just doesn't start in safe mode for example. I tried "unrealtournament.exe -safe" and the game doesn't start up in safe mode, I also tried to add it in the shortcut's target but it refused to save it as that, and also tried with and without space before the '-'. Also, the console command you speak of is unrecognized. So 'possibility' 2 and 3 didn't work. I'm sure it's doable.
 

Zur

surrealistic mad cow
Jul 8, 2002
11,708
8
38
48
If the shorcut doesn't work, try writing the command in a txt file and then renaming it to a .bat.
 

Raynor.Z

Ad Nocendum Potentes Sumus
Feb 1, 2006
1,491
7
38
The only way that works 100% of the time is the D3D9 renderer + FrameRateLimit.

That's mostly true. One interesting thing I noticed with framerate limit is that when value is 200 (FrameRateLimit=200) then UT still goes slightly over 200 frames per second (about 220) and choppyness may happen, but it stays about 195 fps (which is perfect) when my FrameRateLimit is set to 160 in UnrealTournament.ini. Note that I was talking about Direct3D9 renderer.
Also as suggested by Crowze, disabling Speedstep/EIST/C1E/Cool'n'Quitet (depending on CPU) options in BIOS will cure most problems.
Another thing I recommand you to do is to configure your UT as described here (should be more up-to-date guide). I personally had almost zero issues with these settings on wide range of hardware (from P3's to Quad Extremes).

Good luck.
 

Raynor.Z

Ad Nocendum Potentes Sumus
Feb 1, 2006
1,491
7
38
You can get updated Unreal's OpenGL renderer from OldUnreal's patch.
Why would you want to use vsync anyway, game works better with this option turned off.
 

Raynor.Z

Ad Nocendum Potentes Sumus
Feb 1, 2006
1,491
7
38
Guess I'm lucky, because I never experienced tearing with my LCD with vsync turned off.
 

Wulf38

>:F
Feb 5, 2008
16
0
0
36
Canada
On my Athlon X2 it only runs perfectly if I both use OpenGL with FrameRateLimit=60, and set the game's CPU affinity to only one CPU.
 

medor

Member
Mar 15, 2009
446
7
18
You can still mount. Around 200 the game starts to be too fast and choppy on servers.
 

SkaarjMaster

enemy of time
Sep 1, 2000
4,870
8
38
Sarasota, FL
Anyone confirm a good FrameRateLimit setting for UT running OpenGL? I was going to try 180 and run with it.

Also, the utglr web site has an access limit and I can't get to it right now. Is the latest UT OpenGL renderer 3.4? Will this work with Unreal or should I use the oldUnreal one with the OMP file instead? Is the one in the OMP file 3.4 (it's an exe and it gave today's date to the file so I can't compare to the one on my other computer)?
 
Last edited:

GreatEmerald

Khnumhotep
Jan 20, 2008
4,042
1
0
Lithuania
200 is fine for game speed itself, but textures animate wrongly and you don't see water colour under water. 100 works fine. So I guess you can trial and error from 200 to 100 and see what's optimal for you.

OMP is outdated, Dohnal's site has newer renderer. But OMP also has audio, so install OMP first, and then Dohnal's renderer.
 

SkaarjMaster

enemy of time
Sep 1, 2000
4,870
8
38
Sarasota, FL
Version 3.4 (OpenGLDrv.dll) has a date of March 10, 2007. Is there a newer one than this one?

Funny thing about the audio, I think UT sounds better in 5.1 surround sound without OpenAL. I know UT2003, UT2004 and UT3 all have OpenAL and UT does not (in my installations anyway on my older computer) and the surround sound just sounds so much better in UT. Of course, this is getting a little off topic but it's just something I noticed.
 

xvlin

New Member
Feb 11, 2009
59
0
0
Thanks for that link, it works. I have a question though, my fps is stuck at 63 I can average atleast 150, I turned vsync off and tried everything still stuck at it.
 

medor

Member
Mar 15, 2009
446
7
18
Thanks for that link, it works. I have a question though, my fps is stuck at 63 I can average atleast 150, I turned vsync off and tried everything still stuck at it.

you are on opengl or d3d ...?

Show us your setup rederer
May be opengl;you must show [OpenGLDrv.OpenGLRenderDevice]