GPU freeze for over 3 seconds
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 4.3k
- Forks
- 300
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 61
Description
Greetings,
Enjoying a lot using vello, very nice package.
I have a strange situation that I am struggling to get to the bottom of.
I have a wasm client that is rendering some graphics using vello, and there is a significant delay (over 3 seconds) between the initial page load and when the graphics appears. I am using gRPC to retrieve the data, and initially thought there was some oddness with futures not being run (and so I move most of that into a separate web worker instance). The delay also seems unrelated to the amount of graphics being rendered e.g I have something that is drawing 60-70 rectangles, and another that is drawing 1000's of elements, and the time spent actually rendering by the CPU is quite small (10's of milliseconds). So I have been doing some Chrome performance analysis, and I see that nearly all the time (consistently about 3.2 seconds) is taken up by the 'GPU' element in the performance debug tool.
I have enclosed a screen shot of the performance display, and a chrome://gpu dump that does some errors, but I am not sure these are relevant.
I am not sure where to start even going about debugging this. Potentially I can put together some minimal reproducing set of code, but initially wanted to get an opinion on this data I have captured to see if it is a known issue, or maybe some advice about how to debug this.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached Chrome performance capture and chrome://gpu dump, then reproduce the wasm client's roughly 3.2-second delay with the reported rendering cases. A minimal reproducing example would help isolate whether the GPU timeline or reported Chrome GPU errors are relevant; done means identifying the cause or narrowing it to a reproducible GPU issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- grpc, rust, wasm
- Domain
- computer-graphics, performance, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100