linebender / linebender/vello

GPU freeze for over 3 seconds

Open
#936 11 comments 0 reactions 0 assignees View on GitHub

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.

Image

about-gpu-2025-04-24T00-44-00-546Z.txt

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.