GPUI playback hitches during background edits on long recordings
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- desktop, performance
Direzione di ricerca
Start in crates/editor/src/playback.rs, in the project-watch branch that unconditionally rebuilds the cursor timelines, and check which inputs the constructor reads (raw mode and effective movement/click spring parameters). Then look at apps/desktop-gpui/src/editor_window.rs::publish_project to see how live updates reach that branch. Done means padding-only updates reuse the existing timelines while spring-parameter changes still rebuild them, verified with the playback benchmark described in the issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Changing background padding or other unrelated project settings while GPUI playback runs can interrupt frame delivery on long recordings. The editor watch-update handler reconstructs cursor timelines for every project update, rerunning the movement/click spring simulation across all recording sources even when its inputs have not changed.
Reproduction
- Open a long recording with cursor movement and cursor smoothing enabled in the GPUI editor.
- Start playback and adjust background padding repeatedly.
- Frame delivery can hitch while the cursor simulation is rebuilt. Padding does not change the simulation inputs.
Confirmed with the production playback benchmark using a synthetic one-hour recording, 216,001 mouse moves at 60 Hz, a 480×270 preview at 60 fps, and padding updates at 10 Hz. Three runs each delivered 300 callbacks; median p95 callback gap was 44.77 ms with 55 playback skips per run. Reusing the timelines for unrelated edits reduced it to 17.83 ms and zero skips. Changing a spring parameter still triggers reconstruction.
Additional Context
- Cap version: main
3d19c5cfa5e636107e78adde6d55be78404d4f23, GPUI playback engine. - OS: Arch Linux x86_64.
- Device: Intel i5-14400F; benchmark used llvmpipe software Vulkan, Rust 1.88 and FFmpeg 7.1.
The measurement uses the actual editor playback/render callback path used by GPUI; it does not measure display presentation. Hardware GPU timing is unverified because this machine has mismatched installed and loaded NVIDIA driver versions.
apps/desktop-gpui/src/editor_window.rs::publish_project sends live updates during playback. crates/editor/src/playback.rs unconditionally rebuilds the timelines in its project-watch branch. The constructor depends on raw mode and effective movement/click spring parameters, not background padding.
- Lingua principale
- Rust
- Stelle
- 23.2k
- Fork
- 2k
- Merge medio
- 1g 10h
- PR unite (30g)
- 100
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CapSoftware/Cap
-
Slack integration: links on self-hosted domains never unfurl (parseCapShareUrl only accepts cap.so / cap.link)Forse già presa @mangeshraut712 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
CapSoftware/Cap#2546 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
CapSoftware/Cap#2384 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Dashboard pagination causes full page reloads on self-hosted CapForse già presa @Dewin l’ha presa 27 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
CapSoftware/Cap#2305 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
CapSoftware/Cap#1714 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
perf: investigate redundant caption lookup passes during renderingForse già presa @KrishCodesw l’ha presa oggi. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
CapSoftware/Cap#2523 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di CapSoftware/Cap
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
loongarch64: `unsupported linker arg: --no-rosegment` with rustc 1.100Forse già presa @monosans l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rust-cross/cargo-zigbuild#503 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rust-lang/a-mir-formality#472 ·
I maintainer di solito rispondono entro 1 giorno
-
agent:iq3-xxs area: cli duplication enhancement priority: P3 ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno