61 Commits

Author SHA1 Message Date
Hugo Locurcio
118341742d Add Skeleton3D and AnimationTree benchmarks (#105)
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.
2025-06-16 07:48:15 -07:00
Thaddeus Crews
ab271e8ee4 Add missing C# .uid files (#101) 2024-12-11 09:36:57 +01:00
Thaddeus Crews
5619b49b65 Core: Add missing .uid files (#98) 2024-12-10 16:05:49 +01:00
Hugo Locurcio
34a1c24f95 Resave all scenes and scripts on Godot 4.4.dev5, fix GDScript warnings
This will avoid large diffs later on.

This also fixes GDScript warnings across the codebase.
2024-11-27 15:00:18 +01:00
Pedro J. Estébanez
0d0508f719 Add ObjectDB benchmark (#95) 2024-10-28 14:55:04 +01:00
Emmanouil Papadeas
bfd8458b7a Port GDScript benchmarks to C# (#84) 2024-08-04 22:53:11 +02:00
Emmanouil Papadeas
ed0d1f62f0 Add a command-line argument to toggle visuals in the physics and navigation agents benchmarks (#85)
* Add an option to toggle visuals in the moving navigation agents benchmarks
* Toggle visuals off by default
* Create a new visualize command line argument
2024-07-15 19:17:12 +02:00
Emmanouil Papadeas
6606590ea0 Add some runtime asset importing/exporting benchmarks (#80)
* Import gltf, fbx, 200 images and export gltf
* Import 50 ogg files on runtime
2024-07-15 18:40:30 +02:00
Emmanouil Papadeas
cdea241009 Fix C# benchmarks not being able to load, add ability to change benchmark time limit (#82)
- 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.
2024-06-28 20:06:07 +02:00
Emmanouil Papadeas
dddd717a4d Fix mistakes with binary trees & spectral norm (#83)
- 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.
2024-06-26 23:58:39 +02:00
Matthew Murphy
d2a77c7247 Add Array function benchmarks (#75) 2024-06-24 23:11:06 +02:00
Emmanouil Papadeas
8f36c32405 Add Navigation benchmarks (#78)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-06-24 23:09:12 +02:00
Emmanouil Papadeas
2967527f82 Add animated models benchmarks (#79) 2024-06-24 22:48:36 +02:00
Emmanouil Papadeas
23461ea372 Add cull and lightmap probe influence benchmarks (#74)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-06-20 00:52:16 +02:00
Emmanouil Papadeas
f1ee9ebccb Add Physics 3D benchmarks (#76)
* Add Area3D benchmark
* Add CharacterBody3D benchmark
* Add Raycast3D benchmark
* Add SoftBody3D benchmark
* Add TriangleMesh benchmark
* Set physics 3D benchmarks to run for 10 seconds
2024-06-20 00:43:17 +02:00
Emmanouil Papadeas
5becabc28a Add tween animation benchmarks (#77) 2024-06-20 00:39:27 +02:00
Emmanouil Papadeas
331cd6d36c Allow the benchmark time limit to be changed by individual benchmarks (#73) 2024-06-19 16:32:43 +02:00
Emmanouil Papadeas
6630e6e6c1 Add CanvasItem drawing benchmarks (#70) 2024-06-14 22:51:08 +02:00
Emmanouil Papadeas
85bb12d1d5 Add Physics 2D benchmarks (#72) 2024-06-14 22:47:53 +02:00
Emmanouil Papadeas
baf024d674 Add more label benchmarks (#71) 2024-06-11 17:42:04 +02:00
Emmanouil Papadeas
119a238f96 Add Sponza Global Illumination benchmarks (#69)
* 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
2024-06-06 00:50:26 +02:00
Emmanouil Papadeas
b77d4b6414 Add Mandelbrot set and Lua-ported algorithm benchmarks (#68)
* 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
2024-06-05 16:44:09 +02:00
Francisco Demartino
01b9aaa062 Add Bunnymark-style benchmarks (#65)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-05-07 20:03:10 +02:00
Gilles Roudière
c4b7c4ecf4 Add graphs to the website (#63)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-04-26 21:59:57 +02:00
leannelu
da07e229e4 Add GPUParticles2D and CPUParticles2D benchmarks (#62)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-04-24 17:59:34 +02:00
jamie-pate
d0977987ee Add benchmark for viewport creation/activation (#61)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-04-18 16:15:41 +02:00
Jakub Marcowski
7653e5cacc Implement Delaunay3D math benchmarks (#39) 2024-04-18 16:11:14 +02:00
Guilherme
4a95b8fde9 Implement scene nodes benchmarks (#44)
Co-authored-by: BrunoArmondBraga <abraga3547bruno@gmail.com>
2024-04-18 16:08:21 +02:00
Hugo Locurcio
dd91e37bac Add web interface for tracking benchmark results over time (#59)
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.
2024-04-18 15:53:55 +02:00
tinybitofheaven
5c91a3eb71 Add PointLight2D and DirectionalLight2D benchmarks (#60)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-04-04 18:59:40 +02:00
Helehex
93bc7cd0d6 Added support for C# benchmarks (#46) 2024-02-09 14:43:04 +01:00
Francisco Demartino
8a3cda5617 Add benchmark for expression (#58)
* 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.
2024-02-05 22:19:46 +01:00
Francisco Demartino
42fbc4008a Fix convex hull benchmarks (multiple of 3) (#55)
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.
2024-02-01 19:02:49 +01:00
Francisco Demartino
42ba8d1999 Add benchmarks for noise (#56) 2024-02-01 18:57:53 +01:00
Francisco Demartino
29ec9d0cfe Add Sponza AA benchmarks (FSR2, FXAA, MSAA, TAA) (#53) 2024-02-01 18:57:10 +01:00
Francisco Demartino
f509e14139 Add convex hull 3D benchmark (#51) 2024-02-01 17:26:28 +01:00
Francisco Demartino
38e13ba177 Add SDFGI motion benchmarks (#54)
* Skip non-Benchmark scripts
* Add SDFGI motion benchmark
2024-02-01 16:02:35 +01:00
Francisco Demartino
950b654853 Simplify Sponza test names (#50)
"sponza" is already in the test name because of the script name.
2024-01-22 14:50:00 +01:00
Francisco Demartino
f4c5db405d Add Sponza effects benchmarks (#49)
* add Sponza effects benchmarks: includes Glow, SSAO, SSR and Volumetric fog
* tweak the Sponza floor material for showing SSR
2024-01-17 16:53:13 +01:00
Francisco Demartino
22bea74605 Add Sponza depth of field benchmarks (#48) 2024-01-17 16:47:08 +01:00
Francisco Demartino
ff141decc4 Add initial Sponza benchmark (#47)
* add Sponza.dae and related assets

files copied from: https://github.com/Calinou/godot-sponza/tree/4.0-dev

* [wip] add sponza benchmark

* add script to tweak sponza materials

* add omni lights + enable shadows

* Remove unused resources from Sponza

* Convert Sponza to glTF + lossless WebP

This greatly decreases file size and speeds up loading.

---------

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-15 23:14:20 +01:00
Guilherme
409aebd80e Implement some GDScript benchmarks (#41)
Co-authored-by: BrunoArmondBraga <abraga3547bruno@gmail.com>
2023-11-06 22:19:36 +01:00
Hendrik Brucker
4fead64d07 Fix Crypto benchmark taking too long (#43) 2023-10-31 09:51:27 +01:00
Jakub Marcowski
44543f2f56 Implement a benchmark for Geometry2D triangulation (#37) 2023-10-25 00:21:38 +02:00
Jakub Marcowski
5017ee6e22 Implement a benchmark for Delaunay2D (#38) 2023-10-25 00:20:36 +02:00
hakro
14806b1f00 Implement core benchmarks: StringName, NodePath, ConfigFile (#40) 2023-10-23 00:38:59 +02:00
Hugo Locurcio
64b7a69e5b Add various GDScript, core, GUI and physics benchmarks
- Make idle and physics time measurements somewhat functional,
  given what the engine exposes.
2023-06-29 11:11:24 +02:00
Hugo Locurcio
5436c128a0 Merge pull request #23 from myaaaaaaaaa/hlod 2023-05-04 08:41:43 +02:00
Hugo Locurcio
ed991ccf2f Merge pull request #30 from myaaaaaaaaa/signal-emit 2023-05-04 08:22:50 +02:00
myaaaaaaaaa
b91569df05 Fix incorrect positioning of objects in some benchmarks 2023-04-29 19:49:36 -04:00