linebender / linebender/vello

Drop frame rate when zooming out a lot on a complicated scene

Open
#419 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance
Dominant language
Rust
Stars
4.3k
Forks
300
Avg merge
2d 13h
Merged PRs (30d)
61

Description

We have a relatively complicated scene set up and when we zoom out a lot. The ptcl commands count raised to about Two hundred thousand for some tiles and the frame rate dropped below 20FPS. For some reason, we want the path to be rendered, even if they are of subpixel scale.
Then we tried to solve this issue by filtering the last few draw objects' ptcl commands, and ignoring all proceeding once. We got the result right, but the performance didn't improve. The problem is. Some pixels in the tiles are not covered by any path, so they still need to go through all ptcl commands, find nothing to draw, and exit. Slowing down the whole process. Do you have any suggestions on how can we find these pixels faster?

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

Reproduce the reported behavior with a complicated scene while zooming out substantially, observing tile ptcl command counts and frame rate. Investigate how uncovered pixels still traverse all ptcl commands; done means preserving subpixel-scale path rendering while avoiding that unnecessary work and improving performance.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.