X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=misc%2Ftools%2Fthe-big-benchmark%2Fthe-big-benchmark.sh;h=1676ad61da859e2fc39e553c539381f42db4eddd;hb=refs%2Fheads%2Fpacker%2Fthe-big-benchmark;hp=362ad8b73d3a6f118d90daaf3963fb8db71e1104;hpb=cd484b34aa5a145325170b4f9a71e1efe0600e7b;p=xonotic%2Fxonotic.git diff --git a/misc/tools/the-big-benchmark/the-big-benchmark.sh b/misc/tools/the-big-benchmark/the-big-benchmark.sh index 362ad8b7..1676ad61 100755 --- a/misc/tools/the-big-benchmark/the-big-benchmark.sh +++ b/misc/tools/the-big-benchmark/the-big-benchmark.sh @@ -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,21 +59,51 @@ 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" + +# for next version of benchmark: remove +cl_playerdetailreduction 0 and add +showfps 1 +p="+menu_updatecheck 0 +vid_width 1024 +vid_height 768 +vid_desktopfullscreen 0 +cl_curl_enabled 0 +r_texture_dds_load 1 +cl_allow_ui2dname 0 +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 - if grep -xF ']quit' data/engine.log >/dev/null; then + "$@" +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 benchmark.log >> data/the-big-benchmark.log + cat data/benchmark.log >> data/the-big-benchmark.log + 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 [ 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 ./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 echo