HOME
REVIEWS
SUBMIT NEWS
ABOUT



 
UT2003 Benchmarking in Linux





UT2003 Benchmarking in Linux

UT2003 Benchmarking in Linux
Flyby Benchmark

by Patrick aka. Acid-Phreak

Date: October 17, 2002

 

Introduction:

Unless you have been living under a rock, or are not a game player, you probably have heard about Unreal Tournament 2003 which was recently released by Epic Games. A much anticipated sequel to the original Unreal Tournament, it brings us a step closer to having some good benchmarking tools in the Linux environment. Yep, that's right, a hardcore game for the Linux platform that runs natively without the aid of Wine or some other emulator. Sure there is the age old Quake III for Linux which offers great game play, but UT2003 takes game playing on Linux to the next level. With the new tweaked Warfare engine and Karma physics this game definitely attempts to take it to the next level.

Of course this comes at a cost to us Linux users. No support from the manufacture. But hey who needs it right?

Enough of the bickering, the real reason you came here. Benchmarking UT2003 under Linux.

Script Requirements:

  1. Some variant of the Linux OS. I'll almost (I said almost) guarantee this script will run on all variants, i.e. Redhat, SuSE, Gentoo, etc....
  2. Perl installed '/usr/bin/perl'
  3. UT2003 demo installed and running under the currently logged in user account
  4. Patch 1, v1080, installed

Failure to comply will render this script useless!

ALSO, REMEMBER TO BACKUP YOUR ORGINAL UT2003.INI FILE IF YOU WISH TO USE IT AGAIN!

Details:

Like most games, UT2003 offers users a way for benchmarking their system performance. In the Linux version, there are several shell scripts you can run to help aid in benchmarking your system. Now if your running the original UT2003 demo release with no patches installed you are probably wondering where the heck the benchmark program is. Well in order to benchmark your system, you must first download and install the demo patch, v1080. This will address some issues including the benchmarking scripts. Of course I installed the patch and benchmarking still did not work without a little hacking of the benchmark scripts. Still, the scripts were very cumbersome to use since any real benchmarking needs to happen with different quality and resolution settings which the supplied script do not do. Of course obtaining this effect came from manually making the changes in the game and exiting and running the scripts. Not very user friendly.

So I set out to write a script to automate this process. I first checked the doc's that come with the downloaded game. The README file had zero on benchmarking. Next I turned to the supplied scripts which were of great use. After reading over those scripts and understanding (as best I could) what was going on, I took to determining what settings were "High Quality" and which were "Medium Quality" and which were "Low Quality". Please remember the settings I came up with are based on my guesses and are just that, guesses. I simply configured the settings in the game and looked at the resulting UT2003.ini file for the changes. After identifying what changes in the INI file effected game play, I set out to write script that would modify that INI file on the fly.

Below is the areas of the UT2003.ini file I chose to modify to get the desired results.

[SDLDrv.SDLClient]
FullscreenViewportX=800
FullscreenViewportY=600
MinDesiredFrameRate=0.000000
TextureDetailInterface=Normal
TextureDetailTerrain=Normal
TextureDetailWeaponSkin=Normal
TextureDetailPlayerSkin=Normal
TextureDetailWorld=Normal
TextureDetailRenderMap=Normal
TextureDetailLightmap=Normal

[Engine.LevelInfo]
PhysicsDetailLevel=PDL_Medium
DecalStayScale=0.000000

[Engine.NullRenderDevice]
HighDetailActors=True
SuperHighDetailActors=False

Of course these sections are only snippets of the complete INI file. If you want to know what the different settings are then check out the source of the script. Ok now is where the magic comes from. The script searches through the INI file and makes the changes based on what you tell it to do. This is all accomplished by simply running the program and supply it one parameter, the quality setting.

0 = High Quality
1 = Medium Quality
2 = Low Quality

Example: './ut2003_bench.pl 0' <--Will run the script with High Quality settings. If the script fails to execute check to see that its executable. Heck, do a 'chmod 700 ut2003_bench.pl' and make sure its executable. If that fails try the following..

perl ut2003_bench.pl 0

It's important that you run this script as the user who installed UT2003. This is because it uses current users $HOME environment variable to put together the locations of the files. Now this script will then run and do its modifications to the UT2003.ini file and start the benchmarking program. It's also important to note that this script runs at several different predefined display resolutions. They are...

"1600x1200"
"1280x1024"
"1024x768"

If you want to add or remove any resolutions see the README.txt file for details on making those changes. Chances are if your running Linux you already know how to hack a couple variables. More details can be found in the README.txt file.

More then likely, you will see a bunch of debug output to your terminal window. This is not caused by the script, but by the game itself and is nothing to be worried about. Unless you see something like 'core dump' or 'segmentation fault'. Then you have other more serious problems. :)

Once the script completes it will generate a log file you can view and see your results. This file is located....

$HOME/.ut2003/Benchmarks

where $HOME is the home directory of the current logged in user. In the benchmarks folder you will see a file called lowframerate.log. This log will contain the description of the benchmark test that was run and what the scores and FPS was. Here is a excerpt from one....

dm-antalus
8.035609 / 11.522112 / 30.955606 fps
Score = 11.527470

dm-asbestos
4.333949 / 19.523832 / 76.099930 fps
Score = 19.533615

ctf-citadel
8.888351 / 17.856878 / 51.519123 fps
Score = 17.870277


Now what does this mean? The first bit of text is the name of the flyby scene that was used. The first number you see is the Minimum frame rate achieved during the benchmark. Second is the average frame rate achieved and the third number is the Maximum frame rate achieved. And lastly the Score is the total overall score or final result.

Of course the way the script runs the benchmarks is reflected in the lowframerate.log file. Since the script starts at "1600x"1200", the first three scores are for running at "1600x"1200" at the selected quality setting. And then the next series of scores is running at "1280x1024" and so on. So if you run the script and it completes, your will see this in the lowframerate.log file...

dm-antalus
8.035609 / 11.522112 / 30.955606 fps
Score = 11.527470

dm-asbestos
4.333949 / 19.523832 / 76.099930 fps
Score = 19.533615

ctf-citadel
8.888351 / 17.856878 / 51.519123 fps
Score = 17.870277

dm-antalus
11.738363 / 17.022203 / 47.024982 fps
Score = 17.030167

dm-asbestos
6.159682 / 28.214676 / 79.436134 fps
Score = 28.228594

ctf-citadel
12.225863 / 25.679192 / 113.804970 fps
Score = 25.700668

dm-antalus
15.525842 / 26.377512 / 90.346535 fps
Score = 26.388552

dm-asbestos
9.693030 / 44.177204 / 147.057343 fps
Score = 44.106686

ctf-citadel
17.860342 / 39.413754 / 149.096939 fps
Score = 39.393105

Conclusion: There you have it. Good luck testing out your system.

Oh yeah, you can download the benchmark script here.



[ Back to Misc. Hardware | Review Index ]



This site is powered entirely by free software which includes Linux, Apache, PHP, MySQL, and PHP-Nuke.
This site not affiliated with AMD or any other companies unless otherwise mentioned.
Copyright © 2000-2006 Jack Kolesar