Skip to content

perf(sdk): bring VIO feed_image latency to real-time (RTF ~0.10x) #213

Description

@Ravenwater

Context

vio_bench (#209, -O2 release) reports real-time factor ~0.10× on V1_01_easy — roughly 10× slower than real time — with per-frame feed_image latency p50 ~506 ms / p99 ~642 ms at 752×480, ~150 tracked features.

Profile the hot path (VioEstimator::feed_image → backend)

  • Pyramid build, FAST detect, pyramidal KLT (front end).
  • MSCKF dense linear algebra: covariance propagation (Propagator F·P·Fᵀ) and the null-space update (CameraUpdater, DynMat/spd_solve) — likely O(state³) hotspots as the clone window grows.
  • Allocation churn in the per-frame path (DynMat temporaries, track maps).

Use Tracy instrumentation (phase-9) to attribute time before optimizing.

Acceptance

  • RTF ≥ 1.0× on the bench host, or a documented realistic target with the breakdown.
  • No accuracy regression (ATE stays within gate; coordinate with the RPE item).

Surfaced by #209.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestphase-3-vioVisual-Inertial Odometry

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions