[中] 每次重建 RenderJob 都重新解析 motion.json 并重算陀螺仪同步
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 62/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- performance
Direzione di ricerca
Start by reading compose_plan() and load() in windows/birdlock/core/video_stabilization.py:144-159 and the corrections() sync search around :263 and :303, then see how RenderJob is rebuilt on each debounced setting change in windows/birdlock/core/render.py:394-409. Cache both the parsed motion.json and the autoSync result keyed on (path, mtime_ns, size), invalidating on gyro import or manual resync. Done means dragging a slider no longer re-reads the file or reruns the ~201+21 offset search.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
位置:windows/birdlock/core/video_stabilization.py:144-159、:263、:303;windows/birdlock/core/render.py:394-409
现象:compose_plan() 调用 load(),每次都 read_text() + json.loads()(含完整 gyro 数组,可达数十 MB);corrections() 在 autoSync 时会重新跑约 201 个粗偏移加 21 个细偏移的同步搜索。RenderJob 在每次设置变化时重建(60 ms 防抖)。
复现:打开带陀螺仪的视频工程,连续拖动任一设置滑块,观察 CPU 与磁盘读取。
建议:按 (path, mtime_ns, size) 缓存解析结果与同步结果(导入新陀螺仪或手动重新同步时失效)。
来源:2026-11-15 全仓只读审计,PR #7 未包含此项。 未在 Windows 实机复现,复现路径由代码审计推得。
- Lingua principale
- Swift
- Stelle
- 2
- Fork
- 2
- Merge medio
- 1h 11m
- PR unite (30g)
- 2
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 cyandee/BirdLock
-
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 62/100
-
[低] 1.9.0 更新说明审阅稿与正式说明完全重复Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
[低] FrameXform.valid 只写不读Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100