Pipelined-rendering performance
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Bevy version
https://github.com/bevyengine/bevy/commit/c5af1335eb48f990c71082787ff566fc793aab33
## Operating system & version
macOS Catalina, 10.15.7
AdapterInfo { name: "AMD Radeon RX 5700 XT", vendor: 0, device: 0, device_type: DiscreteGpu, backend: Metal }
## What you did
test file for old renderer:
```
use bevy::{
DefaultPlugins,
diagnostic::*,
app::prelude::*,
asset::prelude::*,
ecs::prelude::*,
math::prelude::*,
pbr::{*, prelude::*},
render::prelude::*,
transform::prelude::*};
pub fn setup(
mut commands: Commands,
mut meshes: ResMut>,
mut materials: ResMut>,
) {
let size = UVec3::new(20, 20, 20);
for x in 1..size[0] - 1 {
for y in 1..size[1] - 1 {
for z in 1..size[2] - 1 {
for p in 0..3 {
let material = materials.add(StandardMaterial {
unlit: true,
..Default::default()
});
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube {
size: 1.0,
})),
material: material.clone(),
transform: Transform {
translation: Vec3::new(
x as f32 + 0.5,
y as f32 + 0.5,
z as f32 + 0.5,
),
..Default::default()
},
..Default::default()
});
}
}
}
}
commands
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_translation(size.as_f32() * 1.1).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
});
commands.insert_resource(AmbientLight {
color: Color::ORANGE_RED,
brightness: 0.02,
});
}
pub fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugin(LogDiagnosticsPlugin::default())
.add_plugin(FrameTimeDiagnosticsPlugin::default())
.add_startup_system(setup)
.run();
}
```
test file for new renderer:
```
use bevy::{
PipelinedDefaultPlugins,
app::prelude::*,
asset::prelude::*,
diagnostic::*,
ecs::prelude::*,
math::prelude::*,
pbr2::*,
render2::{camera::PerspectiveCameraBundle, color::Color, mesh::{Mesh, shape}},
transform::prelude::*
};
pub fn setup(
mut commands: Commands,
mut meshes: ResMut>,
mut materials: ResMut>,
) {
let size = UVec3::new(20, 20, 20);
for x in 1..size[0] - 1 {
for y in 1..size[1] - 1 {
for z in 1..size[2] - 1 {
for p in 0..3 {
let material = materials.add(StandardMaterial {
unlit: true,
..Default::default()
});
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube {
size: 1.0,
})),
material: material.clone(),
transform: Transform {
translation: Vec3::new(
x as f32 + 0.5,
y as f32 + 0.5,
z as f32 + 0.5,
),
..Default::default()
},
..Default::default()
});
}
}
}
}
commands
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_translation(size.as_f32() * 1.1).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
});
commands.insert_resource(AmbientLight {
color: Color::ORANGE_RED,
brightness: 0.02,
});
}
pub fn main() {
App::new()
.add_plugins(PipelinedDefaultPlugins)
.add_plugin(LogDiagnosticsPlugin::default())
.add_plugin(FrameTimeDiagnosticsPlugin::default())
.add_startup_system(setup)
.run();
}
```
my results:
```
// 3*20^3
// Oct 30 13:52:58.313 INFO bevy diagnostic: fps : 7.408413 (avg 7.417044)
// 3*10^3
// Oct 30 13:53:54.464 INFO bevy diagnostic: fps : 60.049122 (avg 59.930744)
// rendering_test::main();
// 3*20^3
// Oct 30 13:52:14.582 INFO bevy diagnostic: fps : 4.563918 (avg 4.635602)
// 3*10^3
// Oct 30 13:54:40.295 INFO bevy diagnostic: fps : 5.064065 (avg 5.013634)
```
## What you expected to happen
new renderer to be faster
## What actually happened
new renderer is slower
Contributor guide
Assessment
This issue has not been assessed yet.