Defer reflow for rows above viewport to idle callbacks
Open
Nobody has claimed this yet.
area/performance
type/enhancement
- Dominant language
- TypeScript
- Stars
- 21.2k
- Forks
- 2k
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 3
Description
Resize is one of the bigger bottlenecks, especially in an embedder that has many terminal tabs or when terminal columns is high. We could use a task queue to defer any pending resize operations and either drop or flush when the row is actually needed.
Contributor guide
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 by tracing the resize and reflow implementation, focusing on pending operations for rows above the viewport. Determine how idle callbacks or a task queue could defer work, and when deferred work must be dropped or flushed as rows become needed. Done means the behavior is defined and resize bottlenecks are reduced without delaying visible rows.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100