procedural-3d-engine/bin/benchmark-all.py
2017-08-23 21:24:50 +02:00

84 lines
1.6 KiB
Python

# Benchmark all examples
import subprocess
import sys
import os
import platform
EXAMPLES = [
"bloom",
"computecloth",
"computecullandlod",
"computenbody",
"computeparticles",
"computeshader",
"debugmarker",
"deferred",
"deferredmultisampling",
"deferredshadows",
"displacement",
"distancefieldfonts",
"dynamicuniformbuffer",
"gears",
"geometryshader",
"hdr",
"imgui",
"indirectdraw",
"instancing",
"mesh",
"multisampling",
"multithreading",
"occlusionquery",
"offscreen",
"parallaxmapping",
"particlefire",
"pbrbasic",
"pbribl",
"pbrtexture",
"pipelines",
"pushconstants",
"radialblur",
"raytracing",
"scenerendering",
"shadowmapping",
"shadowmappingomni",
"skeletalanimation",
"specializationconstants",
"sphericalenvmapping",
"ssao",
"stencilbuffer",
"subpasses",
"terraintessellation",
"tessellation",
"textoverlay",
"texture",
"texture3d",
"texturearray",
"texturecubemap",
"texturemipmapgen",
"texturesparseresidency",
"triangle",
"viewportarray",
"vulkanscene"
]
CURR_INDEX = 0
ARGS = "-fullscreen -b"
print("Benchmarking all examples...")
os.makedirs("./benchmark", exist_ok=True)
for example in EXAMPLES:
print("Running %s (%d/%d) in benchmark mode" % (example, CURR_INDEX+1, len(EXAMPLES)))
if platform.system() == 'Linux':
RESULT_CODE = subprocess.call("./%s %s ./benchmark/%s" % (example, ARGS, example), shell=True)
else:
RESULT_CODE = subprocess.call("%s %s ./benchmark/%s" % (example, ARGS, example))
if RESULT_CODE == 0:
print("\tResults written to ./benchmark/%s.csv" % example)
else:
print("\tError, result code = %d" % RESULT_CODE)
CURR_INDEX += 1
print("Benchmark run finished")