Commit Graph

120 Commits

Author SHA1 Message Date
Hugo Locurcio
c49d4c6c4c Run benchmarks on NVIDIA GPU 2024-11-27 15:09:46 +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
Hugo Locurcio
9ad00f6e47 Show the 10 most recent benchmarks on the homepage only at first (#92)
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.
2024-11-07 14:33:40 +01:00
Pedro J. Estébanez
0d0508f719 Add ObjectDB benchmark (#95) 2024-10-28 14:55:04 +01:00
Emmanouil Papadeas
13e5f397e8 Add some editor startup benchmarks (#81)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-10-01 00:26:49 +02:00
Hugo Locurcio
ead3265fb4 Flush stdout on print to ensure it appears in systemd's journal logs
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.
2024-09-16 23:54:57 +02:00
Hugo Locurcio
c216d2182b Add warning about Chromium-based browser bug to index page
- Make the "lower is better" note more prominent.
2024-08-19 23:24:26 +02:00
Emmanouil Papadeas
460494848a Port GDScript benchmarks to C++ (#86)
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-08-04 23:13:59 +02:00
Emmanouil Papadeas
bfd8458b7a Port GDScript benchmarks to C# (#84) 2024-08-04 22:53:11 +02:00
Thaddeus Crews
b8827a41b2 Style: Unify formatting, add .editorconfig (#88) 2024-07-28 23:28:09 +02:00
Hugo Locurcio
375cec369a Update READMEs to use GitHub admonition syntax, use --import CLI argument 2024-07-17 01:37:33 +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
Hugo Locurcio
817de0bbd8 Fix benchmark run skipping logic by running git pull before it
Otherwise, benchmark runs were always skipped as the check was performed
before checking for the latest upstream commit.
2024-05-23 16:29:05 +02:00
Hugo Locurcio
db1e05d373 Disable V-Sync when running benchmarks
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).
2024-05-15 23:59:34 +02:00
Hugo Locurcio
6fe7c0a3d8 Skip running benchmarks when latest commit is already benchmarked (#66) 2024-05-14 18:50:13 +02:00
Hugo Locurcio
0d5fb49450 Run benchmarks for Intel IGP on server (#67)
This uses Vulkan device selection.
2024-05-14 18:50:05 +02:00
Hugo Locurcio
0ab67e4577 Fix invalid UID warnings when loading Sponza by resaving all materials 2024-05-13 03:38:25 +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
a6aaa622e9 Improve docs and simplify/fix setup (#64) 2024-04-29 22:27:08 +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