GPUI playback hitches during background edits on long recordings
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- desktop, performance
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Rust
- Estrellas
- 23.2k
- Forks
- 2k
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 127
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
CapSoftware/Cap#2596 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#2384 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dashboard pagination causes full page reloads on self-hosted CapPosiblemente ocupada @Dewin la tomó hace 28 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
CapSoftware/Cap#2305 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
CapSoftware/Cap#1714 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
macOS: main-thread panic in tauri-runtime-wry 2.8.1 freezes Cap mid Instant recording; the crashed recording then can't be recovered or reuploadedPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 18/100
CapSoftware/Cap#2606 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de CapSoftware/Cap
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
dependencies effort:low flow:chore rust
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
jaroslawherod/micold-ai-ide#875 ·
Los mantenedores suelen responder en 1 día
-
priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
storytold/photocraft#6286 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Four problem loader browser tests fail on WindowsPosiblemente ocupada @Patriciaath999 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Kazakh (kk_KZ) and Georgian (ka_GE) system locales get English instead of the shipped translationsAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día