These benchmarks represent stress tests that challenge the CPU
with lots of animation calls.
This also adds a default environment that makes it easier to distinguish
objects from the background, even when there is no light in the scene.
This ensures release builds use the same behavior as debug builds here.
The benchmarks project does not spam print messages anyway, so performance
should be identical to before.
This is required for accurate CPU/GPU time reporting, as the GPU
may downclock if it ends up being underutilized due to the FPS cap
imposed by V-Sync (leading to artificially increased CPU/GPU times).
- 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 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.
- 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.