MarkBench 测试项目使用教程
1. 项目目录结构及介绍
MarkBench 测试项目的目录结构如下:
markbench-tests/
├── 3dmark/
├── 7z/
├── F1_22/
├── F1_23/
├── atomic_heart/
├── blender_render/
├── blenderbenchmark/
├── cinebench_2024/
├── counterstrike2/
├── cyberpunk2077/
├── deprecated/
├── dota2/
├── flac/
├── forza5/
├── game_settings/
├── godot_compile/
├── gravitymark/
├── handbrake/
├── harness_utils/
├── images/
├── licenses/
├── msikombuster/
├── primesieve/
├── pugetbench/
├── recording_session/
├── reddeadredemption2/
├── returnal/
├── rocket_league/
├── stellaris/
├── superposition/
├── the_last_of_us_part_i/
├── total_war_warhammer_iii/
├── xz/
├── ycruncher/
├── .gitignore
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── __init__.py
├── cspell.json
├── poetry.lock
├── pylintrc
├── pyproject.toml
目录结构介绍
- 3dmark/, 7z/, F1_22/, F1_23/ 等目录:这些目录包含了各种测试的实现代码和配置文件。每个目录代表一个特定的测试,例如
3dmark
目录包含了 3DMark 测试的相关代码。 - harness_utils/:包含了一些通用的工具函数,用于辅助测试的执行。
- licenses/:包含了项目的许可证文件。
- images/:可能包含了一些测试过程中生成的图像文件。
- game_settings/:包含了游戏测试的配置文件。
- deprecated/:包含了已弃用的测试代码。
- README.md:项目的介绍文件,包含了项目的概述、安装和使用说明。
- CHANGELOG.md:记录了项目的变更历史。
- CODE_OF_CONDUCT.md 和 CONTRIBUTING.md:分别包含了项目的代码行为准则和贡献指南。
- LICENSE:项目的许可证文件。
- pyproject.toml 和 poetry.lock:用于 Poetry 依赖管理的配置文件。
2. 项目启动文件介绍
项目的启动文件通常是每个测试目录中的主脚本文件。例如,msikombuster
目录中的 msikombuster.py
文件就是一个启动文件。
示例:msikombuster.py
# msikombuster.py
import os
import sys
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.')
# 省略部分代码...
启动文件功能
- 检查安装路径:确保测试所需的软件已正确安装。
- 执行测试:根据传入的参数执行相应的测试。
- 生成报告:将测试结果写入报告文件。
3. 项目的配置文件介绍
项目的配置文件通常是每个测试目录中的 manifest.yaml
文件。这个文件包含了测试的元数据和配置选项。
示例:manifest.yaml
friendly_name: "Blender Benchmark"
executable: "blender.py"
process_name: "blender.exe"
disable_presentmon: true
hidden: 0
output_dir: "run"
options:
- name: scene
type: select
values: [all, classroom, junkshop, monster]
- name: version
type: select
values: ["3.6.0", "3.5.0", "3.4.0", "3.3.0"]
- name: device
type: select
values: ["CPU", "GPU"]
配置文件功能
- friendly_name:测试的友好名称。
- executable:测试的可执行文件路径。
- process_name:测试进程的名称。
- disable_presentmon:是否禁用 PresentMon 工具。
- hidden:是否隐藏测试窗口。
- output_dir:输出目录。
- options:测试的可选参数,例如场景、版本和设备类型。
通过这些配置文件,用户可以自定义测试的执行方式和参数。