mirror of
https://gitlab.com/xonotic/xonotic
synced 2025-02-19 03:56:52 +00:00
Merge branch 'master' of http://de.git.xonotic.org/xonotic/xonotic
This commit is contained in:
commit
52b1105997
120
misc/tools/the-big-benchmark/the-big-benchmark-eh.sh
Normal file
120
misc/tools/the-big-benchmark/the-big-benchmark-eh.sh
Normal file
@ -0,0 +1,120 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ -d "${0%/*}" ]; then
|
||||
cd "${0%/*}"
|
||||
fi
|
||||
cd ../../..
|
||||
|
||||
echo "The Big Benchmark"
|
||||
echo " ================="
|
||||
echo
|
||||
if [ -f ./all ]; then
|
||||
echo "WARNING: running this script will destroy ANY local changes you"
|
||||
echo "might have on the repository that haven't been pushed or stored"
|
||||
echo "in a local branch yet."
|
||||
echo
|
||||
if [ x"$1" != x"--yes" ]; then
|
||||
echo "Are you absolutely sure you want to run this?"
|
||||
echo
|
||||
while :; do
|
||||
echo -n "y/n: "
|
||||
read -r yesno
|
||||
case "$yesno" in
|
||||
y)
|
||||
break
|
||||
;;
|
||||
n)
|
||||
echo "Aborted."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f ./all ]; then
|
||||
./all clean -fU -m -r
|
||||
./all compile -r
|
||||
export USE_GDB=no
|
||||
set -- ./all run "$@"
|
||||
elif [ -z "$*" ]; then
|
||||
case "`uname`" in
|
||||
Darwin)
|
||||
set -- ./Xonotic.app/Contents/MacOS/xonotic-osx-sdl
|
||||
;;
|
||||
Linux)
|
||||
set -- ./xonotic-linux-sdl.sh
|
||||
;;
|
||||
*)
|
||||
echo "OS not detected. Usage:"
|
||||
echo " $0 how-to-run-xonotic"
|
||||
echo "On Windows when using a release build or an autobuild,"
|
||||
echo "use the-big-benchmark.bat instead!"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -f data/the-big-benchmark.log
|
||||
rm -f data/benchmark.log
|
||||
rm -f data/engine.log
|
||||
|
||||
# for next version of benchmark: remove +cl_playerdetailreduction 0 and add +showfps 1
|
||||
p="+cl_curl_enabled 0 +r_texture_dds_load 1 +cl_playerdetailreduction 0 +developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos/the-big-keybench.dem"
|
||||
|
||||
for e in omg low med normal high ultra ultimate; do
|
||||
echo "Benchmarking on $e"
|
||||
rm -f data/benchmark.log
|
||||
echo + "$@" +exec effects-$e.cfg $p > data/engine.log
|
||||
"$@" +exec effects-$e.cfg $p >>data/engine.log 2>&1 || true
|
||||
grep "^MED: " data/engine.log # print results to the terminal
|
||||
if grep '\]quit' data/engine.log >/dev/null; then
|
||||
break
|
||||
fi
|
||||
cat data/engine.log >> data/the-big-benchmark.log
|
||||
cat data/benchmark.log >> data/the-big-benchmark.log
|
||||
# If card does not support OpenGL then break
|
||||
if [ x"$e" = x"med" ]; then
|
||||
if grep 'checking for OpenGL 2\.0 core features\.\.\. not detected' data/engine.log; then
|
||||
echo "OpenGL 2.0 or later required for Normal quality and higher, exiting."
|
||||
break
|
||||
fi
|
||||
fi
|
||||
# If vid_gl20 is set to 0 then break
|
||||
if [ x"$e" = x"med" ]; then
|
||||
if grep 'Using GL1.3 rendering path' data/engine.log; then
|
||||
echo "OpenGL 2.0 rendering disabled, exiting."
|
||||
break
|
||||
fi
|
||||
fi
|
||||
if [ x"$e" = x"high" ]; then
|
||||
if grep 'vid_soft 1' data/engine.log; then
|
||||
echo "Software rendering does not support Ultra and Ultimate quality settings, exiting."
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -f ./all ]; then
|
||||
./all clean -r
|
||||
fi
|
||||
|
||||
rm -f data/benchmark.log
|
||||
rm -f data/engine.log
|
||||
if ! [ -f data/the-big-benchmark.log ]; then
|
||||
echo
|
||||
echo "The benchmark has been aborted. No log file has been written."
|
||||
exit
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Please provide the the following info to the Xonotic developers:"
|
||||
echo " - CPU speed"
|
||||
echo " - memory size"
|
||||
echo " - graphics card (which vendor, which model)"
|
||||
echo " - operating system (including whether it is 32bit or 64bit)"
|
||||
echo " - graphics driver version"
|
||||
echo " - the file the-big-benchmark.log in the data directory"
|
||||
echo
|
||||
echo "Thank you"
|
Loading…
Reference in New Issue
Block a user