Inconsistent Rendering with Webassembly on lower-end hardware. Game chokes.
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## Bevy version
`main`
The release number or commit hash of the version you're using.
```
[dependencies.bevy]
git = "https://github.com/bevyengine/bevy.git"
rev = "543465b721048355e34eb6078923645747c1d44b"
```
## \[Optional\] Relevant system information
```
105.0.1 (64-bit)
Mac OSX Monterrey 12.5
Processor Name: Quad-Core Intel Core i7
Processor Speed: 2.6 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Hyper-Threading Technology: Enabled
Memory: 16 GB
```
Numerous reports from people I shared this game with indicated that the web assembly build is slow, stalls, or crashes.
I've tried it on 3 different machines (1 Skylake PC running Ubuntu 22.04, an M1 Mac, and on the above listed laptop). On the above listed laptop certain models do not get shaded or lit correctly. All build choke for at least 2 seconds after pressing the start button.
I suspect there is some sort of threading issue.
If you cannot get Bevy to build or run on your machine, please include:
- the Rust version you're using (you can get this by running `cargo --version`)
```
cargo 1.63.0 (fd9c4297c 2022-07-01)
```
If your bug is rendering-related, copy the adapter info that appears when you run Bevy.
## What you did
```
Play the webassembly build of the above-linked game
```
Describe how you arrived at the problem. If you can, consider providing a code snippet or link.
## What went wrong
If it's not clear, break this out into:
- what were you expecting?
Significantly better performance for WASM builds given the engine and language being used.
- what actually happened?
Very poor performance on WASM builds.
Contributor guide
Research direction
Start by reproducing the WebAssembly build of the referenced game on the reported lower-end systems and record the startup stall, performance, and shading behavior. Compare the affected builds with native runs and inspect the rendering and threading paths implicated by the symptoms. Done means the cause is isolated and the WASM performance or rendering inconsistency is addressed with a reproducible check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- computer-graphics, game-dev, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100