Machine vision camera above a conveyor with an edge computer nearby
AI-generated conceptual image; not an actual Kalstor product, facility, customer project or test record.
Home › Resources › Machine-Vision Bursts: Is the SSD Causing Dropped Frames?
Guides · Machine vision

Machine-Vision Bursts: Is the SSD Causing Dropped Frames?

By Kalstor 5 min read
Key takeaways
  • A missed trigger, camera buffer overflow and application storage-queue overflow occur at different points.
  • Measure bytes entering the storage queue after processing; camera output bytes do not automatically equal SSD writes.
  • Record backlog and drain time between bursts before deciding that a faster SSD will help.

Frames lost during a triggered burst do not, by themselves, identify an SSD bottleneck. A camera may ignore a trigger before it acquires an image. A frame can be lost in the camera, transport or host driver before the application sees it. The application can then fill its own queue before its output reaches storage. Locate the first missing frame in that chain before changing a drive.

Basler's triggered-acquisition guidance warns that triggers beyond the camera's current capability may be ignored and that host transfer or storage limits can lead to dropped frames. Those are possible failure points, not a diagnosis for a different camera or software stack.

Record the pipeline boundary where loss appears

Assign a common time base where possible and preserve frame identifiers. Not every camera exposes every counter, so record an unavailable field as such rather than inventing a zero.

BoundaryEvidence to collectQuestion it answers
Trigger source → cameraSent trigger count, acceptance/readiness indication and timestampsWas an image requested when the camera could accept it?
Camera → host transportAcquired frame IDs, camera buffer or transport errors if exposedDid the camera acquire and transfer each accepted frame?
Driver → applicationReceived frame IDs and supported grabber countersDid the host software receive complete frames and keep buffers available?
Processing → storage queueFrames selected for saving, bytes per processed frame, queue occupancy and wait timeHow many bytes actually reached the write path?
Storage queue → fileSubmitted bytes, completion/error times, outstanding writes and resulting file IDsDid storage keep up, or did the queue build while writes waited?

For supported Basler pylon configurations, the stream grabber statistics include Statistic_Missed_Frame_Count for frames skipped because the camera's internal frame buffer was full and Statistic_Buffer_Underrun_Count for frames lost when no free driver buffer was queued. These names and meanings belong to that stack. Consult the exact camera and SDK manual before mapping another vendor's counters to them.

Size the application burst, not the sensor headline rate

Record the number of frames accepted in a representative burst, the actual saved bytes per frame after selection, region-of-interest cropping or compression, the duration of arrival at the application and the interval before the next burst. Also measure how many bytes leave the storage queue during those intervals. A raw camera stream can be larger or smaller than the application's persisted payload depending on processing and metadata.

A simple interval worksheet can track ending queue bytes = starting queue bytes + bytes added for saving − bytes completed from that queue. If the queue is still occupied when the next burst begins, backlog can accumulate. This accounting applies only to frames that reached the application; it does not predict a trigger ignored or a frame dropped upstream. Nor does a completed operating-system write alone prove power-loss persistence.

Burst recordValue from the target system
Camera model/mode and trigger patternAccepted triggers, acquisition settings and burst/gap timestamps.
Frame accountingAcquired, received, selected for saving, saved and missing frame IDs.
Queue inputActual bytes added after processing and their arrival interval.
Queue drainBytes completed, storage errors and peak/backlog at the next burst.
ConditionsHost CPU load, transport configuration, device fill, temperature and concurrent work.

Test the suspected stage

First establish whether frame IDs disappear before the storage queue. If they do, investigate camera readiness, transport and host buffers with the relevant vendor counters. If IDs all reach the queue but occupancy grows with slow or failed write completions, measure the actual application's file write size, concurrency, flush behavior and time window. Then test candidate storage on a disposable target with a representative version of that write workload. Keep changes to one component or setting at a time and rerun the same burst pattern.

An SSD upgrade may help when the measured write path is limiting. It cannot recover frames never accepted by the camera. Send the trigger pattern, queue and write measurements—not just peak sensor bandwidth—with a quote request when evaluating storage for the design.

Sourcing in volume?

We publish measured usable capacity and define trial-batch verification against the quoted product and agreed test scope.