Fix issues in log_diagnostics example (#18652)
# Objective Adopts / builds on top of #18435. The `log_diagnostics` example has bit-rotted and accumulated multiple issues: - It didn't explain the ordering constraint on DefaultPlugins, as noted by the original PR - Apparently `AssetCountDiagnosticsPlugin` no longer exists (?!). I couldn't figure out when or why it was removed, maybe it got missed in Assets v2? - The comments didn't explain what kind of info you get by the various plugins, making you do work to figure it out - ~As far as I can tell `RenderDiagnosticsPlugin` currently doesn't register any diagnostics in the traditional sense, but is only focused on rendering spans? At least it doesn't print anything extra when added for me, so having it here is misleading.~ It didn't print anything because there was nothing to render in this example ## Solution - Make all plugins be commented in to prevent further bit-rot - Remove reference to the missing plugin - Add extra comments describing the diagnostics in more detail - Add something to render so we get render diagnostics ## Testing Run the example, see relevant diagnostics printed out
This commit is contained in:
parent
1553ee98ff
commit
d5d799cbb6
@ -8,22 +8,56 @@ use bevy::{
|
||||
fn main() {
|
||||
App::new()
|
||||
.add_plugins((
|
||||
// The diagnostics plugins need to be added after DefaultPlugins as they use e.g. the time plugin for timestamps.
|
||||
DefaultPlugins,
|
||||
// Adds frame time diagnostics
|
||||
FrameTimeDiagnosticsPlugin::default(),
|
||||
// Adds a system that prints diagnostics to the console
|
||||
// Adds a system that prints diagnostics to the console.
|
||||
// The other diagnostics plugins can still be used without this if you want to use them in an ingame overlay for example.
|
||||
LogDiagnosticsPlugin::default(),
|
||||
// Any plugin can register diagnostics. Uncomment this to add an entity count diagnostics:
|
||||
// bevy::diagnostic::EntityCountDiagnosticsPlugin::default(),
|
||||
|
||||
// Uncomment this to add an asset count diagnostics:
|
||||
// bevy::asset::diagnostic::AssetCountDiagnosticsPlugin::<Texture>::default(),
|
||||
|
||||
// Uncomment this to add system info diagnostics:
|
||||
// bevy::diagnostic::SystemInformationDiagnosticsPlugin::default()
|
||||
|
||||
// Uncomment this to add rendering diagnostics:
|
||||
// bevy::render::diagnostic::RenderDiagnosticsPlugin::default(),
|
||||
// Adds frame time, FPS and frame count diagnostics.
|
||||
FrameTimeDiagnosticsPlugin::default(),
|
||||
// Adds an entity count diagnostic.
|
||||
bevy::diagnostic::EntityCountDiagnosticsPlugin,
|
||||
// Adds cpu and memory usage diagnostics for systems and the entire game process.
|
||||
bevy::diagnostic::SystemInformationDiagnosticsPlugin,
|
||||
// Forwards various diagnostics from the render app to the main app.
|
||||
// These are pretty verbose but can be useful to pinpoint performance issues.
|
||||
bevy_render::diagnostic::RenderDiagnosticsPlugin,
|
||||
))
|
||||
// No rendering diagnostics are emitted unless something is drawn to the screen,
|
||||
// so we spawn a small scene.
|
||||
.add_systems(Startup, setup)
|
||||
.run();
|
||||
}
|
||||
|
||||
/// set up a simple 3D scene
|
||||
fn setup(
|
||||
mut commands: Commands,
|
||||
mut meshes: ResMut<Assets<Mesh>>,
|
||||
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||
) {
|
||||
// circular base
|
||||
commands.spawn((
|
||||
Mesh3d(meshes.add(Circle::new(4.0))),
|
||||
MeshMaterial3d(materials.add(Color::WHITE)),
|
||||
Transform::from_rotation(Quat::from_rotation_x(-std::f32::consts::FRAC_PI_2)),
|
||||
));
|
||||
// cube
|
||||
commands.spawn((
|
||||
Mesh3d(meshes.add(Cuboid::new(1.0, 1.0, 1.0))),
|
||||
MeshMaterial3d(materials.add(Color::srgb_u8(124, 144, 255))),
|
||||
Transform::from_xyz(0.0, 0.5, 0.0),
|
||||
));
|
||||
// light
|
||||
commands.spawn((
|
||||
PointLight {
|
||||
shadows_enabled: true,
|
||||
..default()
|
||||
},
|
||||
Transform::from_xyz(4.0, 8.0, 4.0),
|
||||
));
|
||||
// camera
|
||||
commands.spawn((
|
||||
Camera3d::default(),
|
||||
Transform::from_xyz(-2.5, 4.5, 9.0).looking_at(Vec3::ZERO, Vec3::Y),
|
||||
));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user