bevy/examples/stress_tests
Robert Swain e9b3aeb38f
Enhance bevymark (#9674)
# Objective

- In preparation for an initial 2D/3D mesh batching/instancing PR,
enhance `bevymark` to support some different test modes that enable
comparison and optimisation of performance
 
## Solution

- Use `argh` for command line interface options
- Use seeded `StdRng` for reproducible random number generation
- Add a mode for testing 2D meshes that includes an option to uniquely
vary the data of each material by setting a random flat colour on the
`ColorMaterial`.
- Add a way of specifying the number of different textures to use for
sprites or meshes. These are generated at the same resolution as the
Bevy bird icon, but are just random flat colours for testing.
- Add a benchmark mode that spawns all entities during setup, and
animates the entities using a fixed delta time for reproducible
animation. The initially-spawned entities are still spawned in waves and
animated as they would have been had they spawned at intervals.

---------

Co-authored-by: IceSentry <IceSentry@users.noreply.github.com>
2023-09-02 19:16:44 +00:00
..
bevymark.rs Enhance bevymark (#9674) 2023-09-02 19:16:44 +00:00
many_animated_sprites.rs Allow tuples and single plugins in add_plugins, deprecate add_plugin (#8097) 2023-06-21 20:51:03 +00:00
many_buttons.rs many_buttons with bordered buttons (#9004) 2023-07-05 01:55:13 +00:00
many_cubes.rs Enhance bevymark (#9674) 2023-09-02 19:16:44 +00:00
many_foxes.rs API updates to the AnimationPlayer (#9002) 2023-08-28 16:43:04 +00:00
many_gizmos.rs Fix CI for Rust 1.72 (#9562) 2023-08-25 12:34:24 +00:00
many_glyphs.rs use AutoNoVsync in stress tests (#9229) 2023-07-21 20:15:13 +00:00
many_lights.rs Allow tuples and single plugins in add_plugins, deprecate add_plugin (#8097) 2023-06-21 20:51:03 +00:00
many_sprites.rs Allow tuples and single plugins in add_plugins, deprecate add_plugin (#8097) 2023-06-21 20:51:03 +00:00
README.md Add a stress test profile (#6901) 2022-12-20 15:59:41 +00:00
text_pipeline.rs use AutoNoVsync in stress tests (#9229) 2023-07-21 20:15:13 +00:00
transform_hierarchy.rs Allow tuples and single plugins in add_plugins, deprecate add_plugin (#8097) 2023-06-21 20:51:03 +00:00
warning_string.txt Added performance warning when running stress test examples in debug mode (#5029) 2022-07-13 19:13:46 +00:00

Stress tests

These examples are used to stress test Bevy's performance in various ways. These should be run with the "stress-test" profile to accurately represent performance in production, otherwise they will run in cargo's default "dev" profile which is very slow.

Example Command

cargo run --profile stress-test --example <EXAMPLE>