Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diagnostic overlay dev tool #12560

Open
IceSentry opened this issue Mar 18, 2024 · 3 comments
Open

Diagnostic overlay dev tool #12560

IceSentry opened this issue Mar 18, 2024 · 3 comments
Labels
A-Dev-Tools Tools used to debug Bevy applications. A-Diagnostics Logging, crash handling, error reporting and performance analysis C-Enhancement A new feature

Comments

@IceSentry
Copy link
Contributor

What problem does this solve or what need does it fill?

Bevy currently has multiple diagnostics that are recorded but only the FPS is displayed as a dev tool. We should have a way to display all those diagnostics

What solution would you like?

  • Update the FpsOverlay to display all those diagnostics already present in bevy.
  • We should probably have a simple mode and advanced mode where simple only shows FPS and advanced shows everything.
  • The plugin should be renamed to something like DiagnosticOverlay to reflect that change.
  • Eventually, it could also show pipeline statistics
  • Since it will be a lot of data, the default font size should be reduced.

What alternative(s) have you considered?

N/A

Additional context

Any other information you would like to add such as related previous work,
screenshots, benchmarks, etc.

@IceSentry IceSentry added C-Enhancement A new feature A-Diagnostics Logging, crash handling, error reporting and performance analysis A-Dev-Tools Tools used to debug Bevy applications. labels Mar 18, 2024
@bushrat011899
Copy link
Contributor

bushrat011899 commented Mar 18, 2024

As discussed in Discord, a somewhat ideal would be DOOM Eternal's debug overlay:

Screenshot

image

I think instead of "Simple" and "Advanced", it would be nice if the plugin had options for each of the specific diagnostics, with sensible provided configs like minimal() and full().

app.add_plugins(DiagnosticOverlay  {
    fps: true,
    frame_times: true,
    cpu_info: false,
    // ...
});

This would allow the diagnostics plugin to capture more niche information but keep it optional (to avoid overwhelming users).

@IceSentry
Copy link
Contributor Author

Soon after making this issue this crate was released https://crates.io/crates/iyes_perf_ui

We are currently strongly considering upstreaming it

@inodentry
Copy link
Contributor

I would be very happy for iyes_perf_ui to be upstreamed for Bevy 0.14.

But first I would like to take another month or so to maybe iterate on it and make some improvements while it is still an unofficial crate. It will let me iterate faster, and users will be able to benefit from it in their projects that use Bevy 0.13.

As the time for the Bevy 0.14 release draws nearer, let's revisit it and try to upstream it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Dev-Tools Tools used to debug Bevy applications. A-Diagnostics Logging, crash handling, error reporting and performance analysis C-Enhancement A new feature
Projects
None yet
Development

No branches or pull requests

3 participants