Skip to content

Refactor camera backends and optimize the real-time frame pipeline#5

Merged
tzdna merged 4 commits into
mainfrom
refactor/native-preview-pipeline
Jul 23, 2026
Merged

Refactor camera backends and optimize the real-time frame pipeline#5
tzdna merged 4 commits into
mainfrom
refactor/native-preview-pipeline

Conversation

@tzdna

@tzdna tzdna commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Changes

  • Replace MultiProcessCameraManager with:
    • CameraManager
    • CameraBackend
    • NativeCameraBackend
    • AgentCameraBackend
  • Move native camera polling off the UI thread.
  • Introduce explicit preview, high-rate processing, and recording delivery states.
  • Improve shared-memory slot ownership and dropped-frame detection.
  • Reduce histogram, line-profile, cursor, and OpenGL upload overhead.
  • Optimize background calibration, differential rolling, FFT, Gaussian blur, and spatiotemporal binning.

Known follow-up

At high acquisition rates with small frames, such as 512 × 512, Raw FPS can remain above 100 while Processed FPS is lower because the current low-latency delivery path keeps the latest pending frame. This will be evaluated separately so the preview, processing, and recording delivery policies can be refined independently.

@tzdna
tzdna merged commit 389f5ed into main Jul 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant