mirror of
https://github.com/godotengine/godot-benchmarks.git
synced 2025-12-31 09:49:13 +03:00
This provides a web interface generated with Hugo for tracking benchmark results over time. Automatic dark theme support is provided using water.css. Benchmarks are run daily on a dedicated server with the `master` branch of Godot compiled from source on that server, so that build time and memory usage during the build can also be tracked over time. Binary size as well as startup/shutdown time and memory usage from an empty project are also measured.
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 5 runs:- CPU (debug template)
- CPU (release template)
- GPU (AMD, release template)
- 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.
- ApexCharts 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 or fetch existing JSON data from the live website.
- Save this JSON data to the
contentfolder with the following naming convention:YYYY-MM-DD_hash.jsonwherehashis a 9-character Git commit hash of the Godot build used (truncated from a full commit hash). - Run
hugo server.
Production
- Follow the same steps as in the Development section above.
- Run
hugo --minify.