#bevy #graphics #gamedev

bevy_screen_diags

An on-screen FPS display for bevyengine.org

5 releases (breaking)

0.6.0 Aug 1, 2023
0.4.0 Apr 30, 2022
0.3.0 Jan 27, 2022
0.2.0 Apr 12, 2021
0.1.0 Jan 30, 2021

#883 in Game dev

MIT/Apache

450KB
125 lines

Bevy diagnostics overlay

Crates.io Bevy tracking

bevy_screen_diags adds a very simple frames-per-second (FPS) display to your screen in Bevy.

It was inspired by (and copied from) https://github.com/bevyengine/bevy/blob/main/examples/ui/text.rs.

Usage

Put the crate into your Cargo.toml.

bevy_screen_diags = "0.6.0"

Include the plugin when you build your App.

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(bevy_screen_diags::ScreenDiagsTextPlugin)
        //If a UI camera is already in your game remove the next line
        .add_systems(Startup, |mut commands: Commands| {
            commands.spawn_bundle(Camera2dBundle::default());
        });
}

Put the font you want to use in assets/fonts/screen-diags-font.ttf. If you want, you can use the font at that path in this project (which is FiraSans-Bold).

Example screen showing the FPS

The basic example just shows the FPS count on a grey background, but you can click your mouse on the window to add or remove the display.

The customized example uses the ScreenDiagsText marker component to tweak the font and position of the FPS display.

Contributions to the crate are welcome.

Dependencies

~20–28MB
~443K SLoC