Skip to content

Commit

Permalink
benches: add explaination for visual feature + cleanup the features
Browse files Browse the repository at this point in the history
  • Loading branch information
Vrixyz committed Sep 6, 2024
1 parent e3b7214 commit d66c3e9
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 30 deletions.
5 changes: 4 additions & 1 deletion bevy_rapier3d/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,10 @@ headless = []
async-collider = ["bevy/bevy_asset", "bevy/bevy_scene"]

[dependencies]
bevy = { version = "0.14", default-features = false }
bevy = { version = "0.14", default-features = false, features = [
# This has to be enabled for non headless as of bevy 0.14 because we use AAbb
# "bevy_render",
] }
nalgebra = { version = "0.33", features = ["convert-glam027"] }
rapier3d = "0.22"
bitflags = "2.4"
Expand Down
10 changes: 6 additions & 4 deletions bevy_rapier_benches3d/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@ edition = "2021"
visual = [
"bevy/x11",
"bevy/tonemapping_luts",
"bevy/bevy_asset",
"bevy/bevy_scene",
"bevy/bevy_core_pipeline",
"bevy/bevy_pbr",
"bevy/bevy_gizmos",
"rapier3d/debug-render",
"bevy/bevy_asset",
#"bevy/bevy_asset",
"bevy_rapier3d/debug-render-3d",
]

[dependencies]
bevy = { version = "0.14", default-features = false }
rapier3d = { features = ["profiler"], version = "0.22" }
bevy_rapier3d = { version = "0.27", path = "../bevy_rapier3d", default-features = false }
bevy_rapier3d = { version = "0.27", path = "../bevy_rapier3d", default-features = false, features = [
"dim3",
"headless",
] }
7 changes: 7 additions & 0 deletions bevy_rapier_benches3d/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ and outputs them at the end.
cargo run --release --bin bench
```

To visually make sure your benchmarks setup is correct, you can use the feature `visual`,
and edit `bench.rs` to test only the scene you want.

```sh
cargo run --release --bin bench --features visual
```

## cargo bench

For short-lived benchmarks based on statistical analysis,
Expand Down
24 changes: 2 additions & 22 deletions bevy_rapier_benches3d/src/common.rs
Original file line number Diff line number Diff line change
@@ -1,34 +1,14 @@
use bevy::{
app::PluginsState,
log::LogPlugin,
prelude::*,
render::{
settings::{RenderCreation, WgpuSettings},
RenderPlugin,
},
scene::ScenePlugin,
time::TimeUpdateStrategy,
};
use bevy::{app::PluginsState, prelude::*};
use bevy_rapier3d::prelude::*;

#[cfg(not(feature = "visual"))]
pub fn default_app() -> App {
use bevy::{log::LogPlugin, time::TimeUpdateStrategy};
let mut app = App::new();

app.add_plugins((
WindowPlugin::default(),
MinimalPlugins,
AssetPlugin::default(),
ScenePlugin,
LogPlugin::default(),
RenderPlugin {
render_creation: RenderCreation::Automatic(WgpuSettings {
backends: None,
..Default::default()
}),
..Default::default()
},
ImagePlugin::default(),
HierarchyPlugin,
TransformPlugin,
RapierPhysicsPlugin::<()>::default(),
Expand Down
4 changes: 2 additions & 2 deletions bevy_rapier_benches3d/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ use common::wait_app_start;
use bevy::prelude::*;
use bevy_rapier3d::plugin::RapierContext;

pub fn custom_bencher(steps: usize, setup: impl Fn(&mut App)) {
pub fn custom_bencher(_steps: usize, setup: impl Fn(&mut App)) {
let mut app = default_app();
setup(&mut app);
#[cfg(feature = "visual")]
Expand All @@ -26,7 +26,7 @@ pub fn custom_bencher(steps: usize, setup: impl Fn(&mut App)) {
let mut rapier_step_times = vec![];
let mut total_update_times = vec![];
timer_total.start();
for _ in 0..steps {
for _ in 0.._steps {
timer_full_update.start();
app.update();
timer_full_update.pause();
Expand Down
2 changes: 1 addition & 1 deletion bevy_rapier_benches3d/src/pyramids.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ pub fn create_pyramid(commands: &mut Commands, offset: Vect, stack_height: usize
// Build the rigid body.
commands.spawn((
RigidBody::Dynamic,
SpatialBundle::from_transform(Transform::from_translation(
TransformBundle::from_transform(Transform::from_translation(
Vec3::new(x, y, 0.0) + offset,
)),
Collider::cuboid(rad, rad, rad),
Expand Down

0 comments on commit d66c3e9

Please sign in to comment.