RIP furmark (#21)

This commit is contained in:
nharris-lmg
2023-09-18 11:21:15 -07:00
committed by GitHub
parent 6d16e59775
commit 8431e79ddf
3 changed files with 0 additions and 118 deletions

View File

@@ -1,61 +0,0 @@
# FurMark Test Harness
## Prerequisites
- Python 3.10+
- FurMark installed and on path.
This harness expects that FurMark has been installed on the system using installer defaults.
> Note: Hopefully it will install itself in the future if not present.
## Setup
1. Follow the setup instructions for the framework. If you have done so, all required python dependencies *should* be installed.
2. Install FurMark from https://geeks3d.com/furmark/downloads/
1. Follow the installer's defaults.
## Configuration
Below is an example use of this harness as a test in a benchmark configuration.
```yaml
...
...
tests:
- name: furmark
executable: "furmark.py"
process_name: "FurMark.exe"
output_dir:
- 'C:\Program Files (x86)\Geeks3D\Benchmarks\FurMark\furmark-gpu-monitoring.xml'
- 'C:\Program Files (x86)\Geeks3D\Benchmarks\FurMark\FurMark_0001.txt'
- 'C:\Program Files (x86)\Geeks3D\Benchmarks\FurMark\furmark-gpu-monitoring.csv'
args:
- "/nogui"
- "/nomenubar"
- "/noscore"
- "/width=640"
- "/height=480"
- "/msaa=4"
- "/run_mode=1"
- "/max_time=10000"
- "/log_temperature"
- "/disable_catalyst_warning"
```
__name__ : _(required)_ name of the test. This much match the name of a directory in the harness folder so the framework
can find the executable and any supplementary files.
__executable__ : _(required)_ the entry point to the test harness. In this case a python script.
__process_name__ : _(required)_ The process name that should be the target for FPS recording (ex: PresentMon).
__output_dir__: _(optional)_ Directory containing files to aggregate copies of after a successful test run. If a directory path is
given, the contents are copied.
__args__ : _(optional)_ list of arguments to be appended to the command to execute. All the arguments will be passed to
the executable when invoked by the framework.
Arguments for this harness are the same
as [the documented CLI arguments](https://www.geeks3d.com/20081123/geeks3d-howto-know-furmarks-command-line-parameters/)
.

View File

@@ -1,51 +0,0 @@
import json
import logging
import os.path
import sys
from subprocess import Popen
DEFAULT_FURMARK_DIR = "C:\\Program Files (x86)\\Geeks3D\\Benchmarks\\FurMark"
EXECUTABLE = "FurMark.exe"
ABS_EXECUTABLE_PATH = os.path.join(DEFAULT_FURMARK_DIR, EXECUTABLE)
if os.path.isfile(ABS_EXECUTABLE_PATH) is False:
raise ValueError('No FurMark installation detected! Default installation expected to be present on the system.')
script_dir = os.path.dirname(os.path.realpath(__file__))
log_dir = os.path.join(script_dir, "run")
if not os.path.isdir(log_dir):
os.mkdir(log_dir)
logging_format = '%(asctime)s %(levelname)-s %(message)s'
logging.basicConfig(filename=f'{log_dir}/harness.log',
format=logging_format,
datefmt='%m-%d %H:%M',
level=logging.DEBUG)
console = logging.StreamHandler()
formatter = logging.Formatter(logging_format)
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
# omit the first arg which is the script name
args = sys.argv[1:]
command = f'{ABS_EXECUTABLE_PATH}'
arg_string = ""
for arg in args:
arg_string += arg + ' '
command = command.rstrip()
logging.info(command)
process = Popen([command, arg_string])
exit_code = process.wait()
if exit_code > 0:
logging.error("Test failed!")
exit(exit_code)
result = {
"resolution": "",
"graphics_preset": ""
}
f = open(os.path.join(log_dir, "report.json"), "w")
f.write(json.dumps(result))
f.close()

View File

@@ -1,6 +0,0 @@
friendly_name: "FurMark"
executable: "furmark.py"
process_name: "FurMark.exe"
disable_presentmon: true
hidden: 1
output_dir: "run"