]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/the-big-benchmark/the-big-benchmark.sh
don't use playermodel LOD in the big benchmark to not invalidate previous results
[xonotic/xonotic.git] / misc / tools / the-big-benchmark / the-big-benchmark.sh
index bba1efff28b946437b74849a3f169caa6eba2fc8..d6d74ac65360c1db7dd60a88832547278563a55f 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-set -ex
+set -e
 
 if [ -d "${0%/*}" ]; then
        cd "${0%/*}"
@@ -12,7 +12,8 @@ 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 yet."
+       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?"
@@ -34,7 +35,7 @@ if [ -f ./all ]; then
 fi
 
 if [ -f ./all ]; then
-       ./all clean --reclone
+       ./all clean -fU -m -r
        ./all compile -r
        export USE_GDB=no
        set -- ./all run "$@"
@@ -58,23 +59,28 @@ fi
 rm -f data/the-big-benchmark.log
 rm -f data/benchmark.log
 rm -f data/engine.log
-p="+developer 1 -nohome -benchmarkruns 4 -benchmarkruns_skipfirst -benchmark demos\the-big-keybench.dem"
+p="+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
        rm -f data/benchmark.log
        echo + "$@" +exec effects-$e.cfg $p > data/engine.log
-       "$@" +exec effects-$e.cfg $p >>data/engine.log 2>&1
-       if grep -xF ']quit' data/engine.log >/dev/null; then
+       "$@" +exec effects-$e.cfg $p >>data/engine.log 2>&1 || true
+       if grep '\]quit' data/engine.log >/dev/null; then
                break
        fi
        cat data/engine.log >> data/the-big-benchmark.log
-       cat benchmark.log >> data/the-big-benchmark.log
+       cat data/benchmark.log >> data/the-big-benchmark.log
 done
+if [ -f ./all ]; then
+       ./all clean -r
+fi
+
 rm -f data/benchmark.log
 rm -f data/engine.log
-if [ -f ./all ]; then
-       ./all clean -r -f -u
+if ! [ -f data/the-big-benchmark.log ]; then
+       echo
+       echo "The benchmark has been aborted. No log file has been written."
+       exit
 fi
-set +x
 
 echo
 echo "Please provide the the following info to the Xonotic developers:"