mirror of
https://github.com/bevyengine/bevy
synced 2024-11-14 00:47:32 +00:00
bb1d524833
- changed `EntityCountDiagnosticsPlugin` to not use an exclusive system to get its entity count - removed mention of `WgpuResourceDiagnosticsPlugin` in example `log_diagnostics` as it doesn't exist anymore - added ability to enable, disable ~~or toggle~~ a diagnostic (fix #3767) - made diagnostic values lazy, so they are only computed if the diagnostic is enabled - do not log an average for diagnostics with only one value - removed `sum` function from diagnostic as it isn't really useful - ~~do not keep an average of the FPS diagnostic. it is already an average on the last 20 frames, so the average FPS was an average of the last 20 frames over the last 20 frames~~ - do not compute the FPS value as an average over the last 20 frames but give the actual "instant FPS" - updated log format to use variable capture - added some doc - the frame counter diagnostic value can be reseted to 0
37 lines
1.3 KiB
Rust
37 lines
1.3 KiB
Rust
//! This example illustrates how to create a custom diagnostic.
|
|
|
|
use bevy::{
|
|
diagnostic::{Diagnostic, DiagnosticId, Diagnostics, LogDiagnosticsPlugin},
|
|
prelude::*,
|
|
};
|
|
|
|
fn main() {
|
|
App::new()
|
|
.add_plugins(DefaultPlugins)
|
|
// The "print diagnostics" plugin is optional.
|
|
// It just visualizes our diagnostics in the console.
|
|
.add_plugin(LogDiagnosticsPlugin::default())
|
|
.add_startup_system(setup_diagnostic_system)
|
|
.add_system(my_system)
|
|
.run();
|
|
}
|
|
|
|
// All diagnostics should have a unique DiagnosticId.
|
|
// For each new diagnostic, generate a new random number.
|
|
pub const SYSTEM_ITERATION_COUNT: DiagnosticId =
|
|
DiagnosticId::from_u128(337040787172757619024841343456040760896);
|
|
|
|
fn setup_diagnostic_system(mut diagnostics: ResMut<Diagnostics>) {
|
|
// Diagnostics must be initialized before measurements can be added.
|
|
// In general it's a good idea to set them up in a "startup system".
|
|
diagnostics.add(Diagnostic::new(
|
|
SYSTEM_ITERATION_COUNT,
|
|
"system_iteration_count",
|
|
10,
|
|
));
|
|
}
|
|
|
|
fn my_system(mut diagnostics: ResMut<Diagnostics>) {
|
|
// Add a measurement of 10.0 for our diagnostic each time this system runs.
|
|
diagnostics.add_measurement(SYSTEM_ITERATION_COUNT, || 10.0);
|
|
}
|