WebGPU degrades Chrome browser performance with Ryzen 5 7600 integrated GPU (Linux)
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
## Bevy version
0.17.3
## Relevant system information
Rust Version: 1.93.0-nightly (2d4fa1395 2025-11-12)
Operating System: EndevourOS (Arch based, latest kernel)
Browser: Chrome with WebGPU enabled
## Issue
I have been testing WebGPU on my integrated graphics (Ryzen 5 7600) and Bevy examples on WebGPU seems to lag my entire browser (Really low FPS on the entire browser itself). Do note that I have no issues when I ran custom wgpu examples, like https://wgpu.rs/examples/?backend=webgpu&example=water, or Javascript WebGPU examples: https://webgpu.github.io/webgpu-samples/ , they all ran smoothly without any fps drops.
So I don't think it is the limitation of my integrated graphics, but perhaps, a Bevy issue? Attaching video:
https://github.com/user-attachments/assets/905781ee-8281-43f8-8e37-a2105144fa26
OUTPUT from Console:
```
wasm_example.js:2110 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio
(anonymous) @ wasm_example.js:2110Understand this warning
wasm_example.js:1610 INFO crates/bevy_winit/src/system.rs:69 Creating new window App (0v0)
wasm_example.js:2072 WebGPU is experimental on this platform. See https://github.com/gpuweb/gpuweb/wiki/Implementation-Status#implementation-status
wasm_example.js:1610 INFO crates/bevy_render/src/renderer/mod.rs:277 AdapterInfo { name: "", vendor: 0, device: 0, device_type: Other, driver: "", driver_info: "", backend: BrowserWebGpu }
wasm_example.js:2808 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio
(anonymous) @ wasm_example.js:2808Understand this warning
wasm_example.js:2808 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://developer.chrome.com/blog/autoplay/#web_audio
(anonymous) @ wasm_example.js:2808Understand this warning
wasm_example.js:1610 INFO crates/bevy_render/src/batching/gpu_preprocessing.rs:1142 Some GPU preprocessing are limited on this device.
wasm_example.js:1610 WARN crates/bevy_pbr/src/ssao/mod.rs:70 ScreenSpaceAmbientOcclusionPlugin not loaded. GPU lacks support: Limits::max_storage_textures_per_shader_stage is less than 5.
wasm_example.js:1610 INFO crates/bevy_pbr/src/light_probe/generate.rs:130 Disabling EnvironmentMapGenerationPlugin because compute is not supported on this platform. This is safe to ignore if you are not using EnvironmentMapGenerationPlugin.
(index):1 Destroyed texture [Texture (unlabeled 2100x1181 px, TextureFormat::BGRA8Unorm)] used in a submit.
- While calling [Queue].Submit([[CommandBuffer], [CommandBuffer "main_opaque_pass_2d_command_encoder" from CommandEncoder "main_opaque_pass_2d_command_encoder"], [CommandBuffer "main_transparent_pass_2d_command_encoder" from CommandEncoder "main_transparent_pass_2d_command_encoder"], [CommandBuffer]])
```
What could be the issue? If other webgpu examples work fine but Bevy specific doesn't? I am happy to provide more logs if needed, thanks!
Contributor guide
Assessment
This issue has not been assessed yet.