Blender
The blender developers wrote a script for benchmarking their app. Download benchmark.blend. Run blender with blender ~/benchmark.blend, then press alt-P.
Nexuiz
nexuiz-glx -benchmark demos/demo1 -nosound 2>&1 | egrep -e '[0-9]+ frames'
Or, you can open the console by pressing '`' (or shift + escape) and enter:
timedemo demos/demo1.dem
Available demos: demo1-5, bench1, piece-o-cake.
If you want to run demos in a loop, run nexuiz-glx -nosound and enter in console:
startdemos demos/demo1 demos/demo2
demos
Xonotic
xonotic-glx -benchmark demos/the-big-keybench 2>&1 | egrep -e '[0-9]+ frames'
OpenArena
anholt recorded a timedemo for use. The developers may include a canonical timedemo in a future release.
Place anholt.cfg in ~/.openarena/baseoa/
Place anholt.dm 68 in ~/.openarena/baseoa/demos
Run openarena using:
openarena +exec anholt 2>&1 | egrep -e '[0-9]+ frames'
Quake3 Demo
Install Quake 3 Demo
wget ftp://ftp.idsoftware.com/idstuff/quake3/linux/linuxq3ademo-1.11-6.x86.gz.sh
chmod a+x linuxq3ademo-1.11-6.x86.gz.sh
./linuxq3ademo-1.11-6.x86.gz.sh -target ~/q3
cd ~/q3
cp bin/x86/glibc-2.0/q3demo .
./q3demo
The timedemo we use is DEMO001. Place the following script in ~/.q3a/demoq3/demo.cfg
timedemo 1
set demodone "quit"
set demoloop1 "demo DEMO001; set nextdemo vstr demodone"
vstr demoloop1
Run Quake3 Demo using:
cd /q3 && ./q3demo +exec demo 2>&1 | egrep -e '[0-9]+ frames'
Quake3
The timedemo we use is demofour. Place the following script in ~/.q3a/baseq3/demofour.cfg:
timedemo 1
set demodone "quit"
set demoloop1 "demo four; set nextdemo vstr demodone"
vstr demoloop1
Run quake3 using:
cd /usr/games/quake3 && ./quake3.x86 +exec demofour 2>&1 | egrep -e '[0-9]+ frames'
Enemy Territory
The timedemo we use is "Radar", located at http://www.3dcenter.org/downloads/enemy-territory-radar.php. Place the demo in ~/.etwolf/etmain/demos.
Place the following script in ~/.etwolf/etmain/radar.cfg
timedemo 1
set demodone "quit"
set demoloop1 "demo radar; set nextdemo vstr demodone"
vstr demoloop1
Run et using:
et +exec radar 2>&1 | egrep -e '[0-9]+ frames'
To show fps at runtime, hit '~' and type:
/cg_drawfps 1
Doom3 (not the demo)
Go to the console and type
timedemo demo001 usecache
UT2004
Set ?MinDesiredFramerate to 0 in your UT2004.ini in ~/.ut2004/System/UT2004.ini. You probably also want to set UseVBO=True if your driver supports VBOs (UT doesn't automatically set this if the extension is exposed, for some reason).
Then, start a benchmark botmatch with:
ut2004 "br-bridgeoffate?spectatoronly=1?numbots=8?quickstart=1?attractcam=1" -benchmark -seconds=60 -nosound
The framerate is appended to ~/.ut2004/Benchmark/benchmark.log:
tail -n 1 ~/.ut2004/Benchmark/benchmark.log | awk '{print $5}'
cairo-gl
The cairo vector graphics library has an OpenGL backend. Given that the number of fragments per draw call is generally low, and shader instructructions per fragment is very low, this can be an excellent test of draw call overhead, which many app developers care about.
wget http://people.freedesktop.org/~anholt/0001-cairo-perf-trace-Print-times-in-seconds.patch
git clone git://anongit.freedesktop.org/cairo
cd cairo
gi am ../0001-cairo-perf-trace-Print-times-in-seconds.patch
./autogen.sh --enable-egl=yes
cd perf
git clone git://anongit.freedesktop.org/cairo-traces
make benchmark/firefox-planet-gnome.trace
Then your test script is:
unset LIBGL_DEBUG
CAIRO_TEST_TARGET=gl \
cairogl ~/src/cairo/perf/cairo-perf-trace \
-i 1 \
-r /home/anholt/src/cairo/perf/cairo-traces/benchmark/firefox-planet-gnome.trace \
2>&1 | grep gl.rgba \
| sed 's|.*gnome.0 ||g'
Keep in mind that, unlike the other tests here, the results are in seconds. Lower is better!
