You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Objective
- Several examples are useful for qualitative tests of Bevy's performance
- By contrast, these are less useful for learning material: they are often relatively complex and have large amounts of setup and are performance optimized.
## Solution
- Move bevymark, many_sprites and many_cubes into the new stress_tests example folder
- Move contributors into the games folder: unlike the remaining examples in the 2d folder, it is not focused on demonstrating a clear feature.
`orthographic` | [`3d/orthographic.rs`](./3d/orthographic.rs) | Shows how to create a 3D orthographic view (for isometric-look games or CAD applications)
111
109
`parenting` | [`3d/parenting.rs`](./3d/parenting.rs) | Demonstrates parent->child relationships and relative transformations
@@ -199,9 +197,10 @@ Example | File | Description
199
197
200
198
Example | File | Description
201
199
--- | --- | ---
202
-
`alien_cake_addict` | [`game/alien_cake_addict.rs`](./game/alien_cake_addict.rs) | Eat the cakes. Eat them all. An example 3D game
203
-
`breakout` | [`game/breakout.rs`](./game/breakout.rs) | An implementation of the classic game "Breakout"
204
-
`game_menu` | [`game/game_menu.rs`](./game/game_menu.rs) | A simple game menu
200
+
`alien_cake_addict` | [`games/alien_cake_addict.rs`](./games/alien_cake_addict.rs) | Eat the cakes. Eat them all. An example 3D game
201
+
`breakout` | [`games/breakout.rs`](./games/breakout.rs) | An implementation of the classic game "Breakout"
202
+
`contributors` | [`games/contributors.rs`](./games/contributors.rs) | Displays each contributor as a bouncy bevy-ball!
203
+
`game_menu` | [`games/game_menu.rs`](./games/game_menu.rs) | A simple game menu
205
204
206
205
## Input
207
206
@@ -247,6 +246,24 @@ Example | File | Description
247
246
`compute_shader_game_of_life` | [`shader/compute_shader_game_of_life.rs`](./shader/compute_shader_game_of_life.rs) | A compute shader simulating Conway's Game of Life
248
247
`shader_defs` | [`shader/shader_defs.rs`](./shader/shader_defs.rs) | Demonstrates creating a custom material that uses "shaders defs" (a tool to selectively toggle parts of a shader)
249
248
249
+
## Stress Tests
250
+
251
+
These examples are used to test the performance and stability of various parts of the engine in an isolated way.
252
+
253
+
Due to the focus on performance it's recommended to run the stress tests in release mode:
254
+
255
+
```sh
256
+
cargo run --release --example <example name>
257
+
```
258
+
259
+
Example | File | Description
260
+
--- | --- | ---
261
+
`bevymark` | [`stress_tests/bevymark.rs`](./stress_tests/bevymark.rs) | A heavy sprite rendering workload to benchmark your system with Bevy
262
+
`many_cubes` | [`stress_tests/many_cubes.rs`](./stress_tests/many_cubes.rs) | Simple benchmark to test per-entity draw overhead
263
+
`many_lights` | [`stress_tests/many_lights.rs`](./stress_tests/many_lights.rs) | Simple benchmark to test rendering many point lights. Run with `WGPU_SETTINGS_PRIO=webgl2` to restrict to uniform buffers and max 256 lights.
264
+
`many_sprites` | [`stress_tests/many_sprites.rs`](./stress_tests/many_sprites.rs) | Displays many sprites in a grid arragement! Used for performance testing.
265
+
`transform_hierarchy.rs` | [`stress_tests/transform_hierarchy.rs`](./stress_tests/transform_hierarchy.rs) | Various test cases for hierarchy and transform propagation performance
266
+
250
267
## Tests
251
268
252
269
Example | File | Description
@@ -257,7 +274,6 @@ Example | File | Description
257
274
258
275
Example | File | Description
259
276
--- | --- | ---
260
-
`bevymark` | [`tools/bevymark.rs`](./tools/bevymark.rs) | A heavy sprite rendering workload to benchmark your system with Bevy
261
277
`scene_viewer` | [`tools/scene_viewer.rs`](./tools/scene_viewer.rs) | A simple way to view glTF models with Bevy. Just run `cargo run --release --example scene_viewer -- /path/to/model.gltf#Scene0`, replacing the path as appropriate. With no arguments it will load the FieldHelmet glTF model from the repository assets subdirectory.
To load assets, they need to be available in the folder examples/wasm/assets. Cloning this
432
448
repository will set it up as a symlink on Linux and macOS, but you will need to manually move
433
449
the assets on Windows.
434
-
435
-
# Stress Tests
436
-
437
-
These examples are used to test the performance and stability of various parts of the engine in an isolated way.
438
-
439
-
Due to the focus on performance it's recommended to run the stress tests in release mode:
440
-
441
-
```sh
442
-
cargo run --release --example <example name>
443
-
```
444
-
445
-
Example | File | Description
446
-
--- | --- | ---
447
-
`many_lights` | [`stress_tests/many_lights.rs`](./stress_tests/many_lights.rs) | Simple benchmark to test rendering many point lights. Run with `WGPU_SETTINGS_PRIO=webgl2` to restrict to uniform buffers and max 256 lights.
448
-
`transform_hierarchy.rs` | [`stress_tests/transform_hierarchy.rs`](./stress_tests/transform_hierarchy.rs) | Various test cases for hierarchy and transform propagation performance
0 commit comments