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.
* 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 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.