Docs

Why FPS Is Not Enough

A methodology for evaluating real-time video processing pipelines.

The thesis

FPS tells only part of the story

Average frames-per-second is easy to optimize and easy to flatter. When multiple concurrent streams share decode and inference resources, what matters is whether frames are processed in time, whether the pipeline recovers after stalls, and whether latency stays stable. This methodology documents how we evaluate real-time video pipelines systematically.

Test Platform

What we ran it on

Edge evaluation runs on an RK3588 platform, matching close-to-deployment conditions.

RK3588 platform

Input

Test input source

We use streams encoded by real cameras rather than synthetic data, so decoder pressure reflects reality.

Hivision 4K H.264 20 FPS · CBR GOP 12

Concurrency

Concurrent streams

Scaling from one stream to many, observing how behavior changes under shared resources.

1 stream 2 streams 4 streams 8 streams

Metrics

What we measure

Each metric maps to a real risk: whether processing is real-time, whether latency is stable, whether the pipeline recovers, and whether the decoder holds up.

Latency

End-to-end delay from a frame arriving at the input to being available at the output.

Frame Age

How far the currently processed frame lags behind the live source.

P99

The 99th-percentile latency — whether tail latency stays stable.

Burst Tolerance

Behavior under traffic bursts or bandwidth fluctuations.

Recovery

How quickly the pipeline recovers after a stream break or decoder failure.

Decoder Stall

Decoder stalls, dropped frames, or resource exhaustion.

Results

Results & data

Placeholder — to be filled with measured curves and data tables for each concurrency level.

Get Started

See the platform in action

Explore the technical demo, or tell us about your use case to request a live walkthrough.