- Allow the benchmark time limit to be changed by C# scripts.
- Continuation of #73, fixes a crash when running C# physics benchmarks.
Also sets the C# physics benchmarks to 10 seconds.
- Fix C# benchmarks not being loaded.
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.
This can be used for binary size comparisons over time. Build type
is now more granular (editor, debug template, release template) as
this will be needed for fair binary size comparisons.
- Use a fixed 1920×1080 viewport size for consistent results.
- Hardcode the benchmark duration to 5 seconds for benchmarks that
have a time limit for consistent results.
- Move the Select All and Select None button next to the "Available Benchmarks:"
label, as they're closer to the checkboxes this way.
- Make buttons larger to be easier to click.
- Only show the Copy JSON to Clipboard button after running benchmarks.
- Automatically register benchmarks based on `.tscn` files found in the
`benchmarks/` folder.
- `manager.gd` no longer needs to be edited every time a benchmark is added.
- Use full path for include/exclude glob instead of just the last category's name.
- Move benchmarks to a subfolder.
- Position the benchmark label away from the window's edges for better readability,
and increase its outline size.
- Run the dynamic light cull with shadows benchmark
(there was a `.tscn` file but it was unused).
- Automatically quit on end when using `--run-benchmarks` CLI argument.
- Improve command line printing to be more helpful and descriptive.
- Add documentation on running benchmarks in the README.
- JSON is now generated using the JSON class and includes Godot version
information, CPU information and GPU information. Its base structure
has changed.
- Tweak debug label visibility and mention frame setup time within.
- Tweak code style to follow the GDScript style guide (and fix a typo
in `benchmark_group`).
- Add wall clock time measurement on benchmarks.
- Allow tests to not have a predefined time limit.
- This is required for scripting tests.
- Fix culling tests not reporting GPU time.