[中] 每次重建 RenderJob 都重新解析 motion.json 并重算陀螺仪同步

Aperta
#17 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cyandee/BirdLock

Tutte le issue di cyandee/BirdLock

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.