diff --git a/crates/bevy_dev_tools/src/fps_overlay.rs b/crates/bevy_dev_tools/src/fps_overlay.rs index ea5c0fde4318b..fd07092ddc896 100644 --- a/crates/bevy_dev_tools/src/fps_overlay.rs +++ b/crates/bevy_dev_tools/src/fps_overlay.rs @@ -177,35 +177,46 @@ fn setup( )) .with_child((TextSpan::default(), overlay_config.text_config.clone())); - let font_size = overlay_config.text_config.font_size; - p.spawn(( - Node { - width: Val::Px(font_size * FRAME_TIME_GRAPH_WIDTH_SCALE), - height: Val::Px(font_size * FRAME_TIME_GRAPH_HEIGHT_SCALE), - display: if overlay_config.frame_time_graph_config.enabled { - bevy_ui::Display::DEFAULT - } else { - bevy_ui::Display::None - }, - ..Default::default() - }, - Pickable::IGNORE, - MaterialNode::from(frame_time_graph_materials.add(FrametimeGraphMaterial { - values: buffers.add(ShaderStorageBuffer { - // Initialize with dummy data because the default (`data: None`) will - // cause a panic in the shader if the frame time graph is constructed - // with `enabled: false`. - data: Some(vec![0, 0, 0, 0]), + #[cfg(target_arch = "wasm32")] + { + if overlay_config.frame_time_graph_config.enabled { + use tracing::warn; + + warn!("Frame time graph is not supported on wasm32 targets."); + } + } + #[cfg(not(target_arch = "wasm32"))] + { + let font_size = overlay_config.text_config.font_size; + p.spawn(( + Node { + width: Val::Px(font_size * FRAME_TIME_GRAPH_WIDTH_SCALE), + height: Val::Px(font_size * FRAME_TIME_GRAPH_HEIGHT_SCALE), + display: if overlay_config.frame_time_graph_config.enabled { + bevy_ui::Display::DEFAULT + } else { + bevy_ui::Display::None + }, ..Default::default() - }), - config: FrameTimeGraphConfigUniform::new( - overlay_config.frame_time_graph_config.target_fps, - overlay_config.frame_time_graph_config.min_fps, - true, - ), - })), - FrameTimeGraph, - )); + }, + Pickable::IGNORE, + MaterialNode::from(frame_time_graph_materials.add(FrametimeGraphMaterial { + values: buffers.add(ShaderStorageBuffer { + // Initialize with dummy data because the default (`data: None`) will + // cause a panic in the shader if the frame time graph is constructed + // with `enabled: false`. + data: Some(vec![0, 0, 0, 0]), + ..Default::default() + }), + config: FrameTimeGraphConfigUniform::new( + overlay_config.frame_time_graph_config.target_fps, + overlay_config.frame_time_graph_config.min_fps, + true, + ), + })), + FrameTimeGraph, + )); + } }); }