GPUI playback hitches during background edits on long recordings
Maintainer antworten meist innerhalb von 1 Tag
Ein zugehöriger Pull Request wurde bereits gemerged.
- #2507 von @AksharP5 — gemerged
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- Ein halber Tag
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- rust
- Bereich
- desktop, performance
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Rust
- Sterne
- 23.7k
- Forks
- 2.1k
- Ø Merge
- 1 T. 2 Std.
- Gemergte PRs (30 T.)
- 705
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutEvtl. vergeben @AatmanAJ hat das vor 13 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
CapSoftware/Cap#2596 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
CapSoftware/Cap#2384 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Dashboard pagination causes full page reloads on self-hosted CapEvtl. vergeben @Dewin hat das vor 42 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
CapSoftware/Cap#2305 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
CapSoftware/Cap#1714 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Self-hosted: "Failed to queue transcription" logged for every video when no transcription provider is configuredEvtl. vergeben @prosomoalexd hat das vor 1 Tag übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 35/100
CapSoftware/Cap#3517 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in CapSoftware/Cap
Ähnliche Issues
-
bug dependencies kind:fix priority: P3 ready-for-agent
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
shep-pm/shep#1318 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 2 Tagen
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
swc-project/swc-next#1165 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Alive24/shea-symphony#574 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag