-
-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TRACKER] Benchmarks to create #11
Comments
I think I might have a go at the Sprite2D and Polygon2D benchmarks, just a quick question, though. Should I instance the sprites/polygons through code, or should they already be in the scene when the benchmark is run? |
There will be a lot of sprites/polygons to add, so you should instance them through code like the 3D benchmarks are doing. |
Alright, thanks. I'll start work on it now. |
Sprite2D benchmarks should be ready to review, #18 |
Polygon2D benchmarks are ready, #19 |
Sure, feel free to open a pull request 🙂
Yes, we need to make sure all lights show up. |
The PointLight2D and DirectionalLight2D benchmarks are ready for review! #60 |
Could I try the GPUParticles2D and CPUParticles2D benchmarks? And are there any specific particle settings for those that I should be setting? Or a specific number of nodes/particles? |
Sure, go ahead 🙂
I'd try creating the particle setups mentioned (that is, one benchmark with lots of particle nodes that have few particles each, and one benchmark with few particle nodes that have lots of particles each). As for the mesh/material, we want to be testing simulation performance as opposed to rendering performance, so I recommend using a small billboarded QuadMesh (0.1 × 0.1 units) with a material that has its shading mode set to Unshaded. |
GPUParticles2D and CPUParticles2D benchmarks are ready to review! #62 |
#36
This is a list of benchmarks to add to the benchmark suite. See the contributing guide for instructions on adding new benchmarks.
I plan to tackle some of those benchmarks personally, so please comment on this issue if you plan on working on new benchmarks (to avoid working on the same benchmark at the same time).
Feel free to suggest new benchmark ideas as well 🙂
Remember that we'd like to keep the project fast to clone, so the repository size needs to remain low. This means we can't do things like adding large detailed 3D scenes with textures, as these usually require several GBs of storage.
2D Rendering
3D Rendering
Some of those benchmarks should have "exclude on Forward Mobile" and "exclude on Compatibility" properties so that they are skipped on unsupported renderers.
To compare the relative performance impact of each setting, these tests should render the same scene but with different settings:
Antialiasing
Global illumination
Post-processing
Core
GDScript
https://github.com/godotengine/godot/tree/master/modules/gdscript/tests can be helpful for inspiration.
load()
on resource 100,000 timesif
100,000 timesmatch
100,000 times (with same logic asif
)if
100,000 timesmatch
100,000 timesfor
loopwhile
loop (with same logic asfor
)%
, no-op) Add various GDScript, core, GUI and physics benchmarks #32%
, simple) Add various GDScript, core, GUI and physics benchmarks #32%
, complex) Add various GDScript, core, GUI and physics benchmarks #32String.format()
, no-op) Add various GDScript, core, GUI and physics benchmarks #32String.format()
, simple) Add various GDScript, core, GUI and physics benchmarks #32String.format()
, complex) Add various GDScript, core, GUI and physics benchmarks #32var2str()
on all core types 10,000 timesstr2var()
on all core types 10,000 timesNavigation
Physics
All tests should be done in 2D and 3D when possible.
To only represent physics performance, no visual representation should be made unless a debug flag is passed (e.g.
--debug-benchmarks
).Repeat with box, sphere, capsule, cylinder, simple convex (quickhull) and complex convex (VHACD):
GUI
The text was updated successfully, but these errors were encountered: