The user can click "Show all benchmarks..." at the end to reveal
the full list of benchmarks.
Benchmarks are also now ordered from newest to oldest, instead
of from oldest to newest.
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.
* Add an option to toggle visuals in the moving navigation agents benchmarks
* Toggle visuals off by default
* Create a new visualize command line argument
- 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.
- Fix spectral norm incorrect inputs.
- Fix binary trees.
- Improve spectral norm static typing.
- Use the `fill()` method.
- Use static typing for left and right arrays.
* Format sponza.gd and improve static typing
* Add Sponza with RefProbe, VoxelGI and SDFGI benchmarks
* Update sponza.VoxelGI_data.res
* Add Sponza with LightmapGI benchmark, set sponza.glb light baking to static lightmaps
* Add Sponza with SSIL benchmark
* Port binary trees and merkle trees
* Port nbody and spectral_norm
* Format nbody
* Create mandelbrot_set.gd
* Add algorithm credits
* Create hello_world.gd
* Make some benchmark inputs smaller so they complete faster
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).
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.
* Add benchmark for expression
There are 3 phases: generate strings, parsing, executing.
The string generation phase is as follows:
Only the 4 basic math (two argument aka binary) operations are used,
it starts with a pool of nodes (initially a node is just a variable),
and randomly combines 2 nodes until only one node remains.
Parsing and executing are straightforward uses of the Expression class.
* Split out expression generator to Python script.
The benchmark was bogus before. I missed this error:
convex_hull_3d.gd:34 @ _bench_convex(): Ignoring surface 0, incorrect vertex count: 10000 (for PRIMITIVE_TRIANGLES).
<C++ Error> Condition "(len % 3) != 0" is true. Continuing.
Also tweaked the iteration count so it takes a reasonable time.