mirror of
https://github.com/godotengine/godot-benchmarks.git
synced 2025-12-31 09:49:13 +03:00
Web interface for benchmark results
This website is built with the Hugo static site generator.
It's designed to work exclusively with the run-benchmarks.sh script,
which runs benchmarks on a dedicated server with various GPU models.
How it works
- Using the
run-benchmarks.shscript, benchmark data is collected and saved to a single JSON file for each engine commit, with 4 runs:- CPU (debug template)
- CPU (release template)
- GPU (AMD, release template)
- GPU (Intel, release template)
- GPU (NVIDIA, release template)
- The produced results (as .json or .md) should be copied into the
src-data/benchmarksfolder. - The ./generate-content.py script produces
.mdfiles in thecontentfolder, so that web pages can be generated for each graph and each benchmark. - Hugo is used to create a homepage listing recent benchmarked commits, plus a single page per engine commit. This allows linking to individual benchmarked commit in a future-proof way.
- Plotly.js is used to draw graphs on the homepage.
- Water.css is used to provide styling, including automatic dark theme support.
Building
Development
Create JSON data (using the run-benchmarks.sh script, as described above),
or fetch existing JSON data from the live website:
git clone https://github.com/godotengine/godot-benchmarks-results.git src-data/benchmarks
Generate server files from the benchmarks:
python content.py
Now, you can run the server:
hugo server
Production
- Follow the same steps as in the Development section above.
- Run
hugo --minify.