预览能够显示图像,不足以确认目标模式下的原始采集稳定。显示程序可能采用较低分辨率、压缩流、跳帧或较短缓冲策略。排查时先固定模式和统计边界,再判断问题出现在设备、传输、驱动还是应用队列。
先定义“掉帧”发生在哪一层
| 位置 | 观察字段 | 需要区分 |
|---|---|---|
| 设备及传输 | 设备帧号、设备状态和传输错误 | 未产生、未收到和坏帧不是同一事件 |
| 主机接收 | 收帧数、有效长度、格式与错误码 | 收到缓冲不一定得到有效图像 |
| 适配与队列 | 入队、出队、等待、占用和丢弃原因 | 主动降采样与意外丢失分别计数 |
| 处理与输出 | 处理开始、完成、超时和结果编号 | 无结果可能由处理失败或策略跳过导致 |
设备帧号出现间隔时,还需检查是否跨越重连、复位或计数回绕。主机自行生成的帧编号只描述主机已收到的序列,不能单独证明设备端没有缺失。
用原始帧建立最小复现
保留相机、固件、线缆、主机、驱动、SDK、分辨率、格式与帧率。先运行只接收并检查原始帧的程序,再逐项增加转换、推理、保存和显示,比较错误与资源变化。原厂示例和业务程序分别记录,避免把两个不同模式的结果直接比较。
检查缓冲与所有权
明确SDK缓冲在何时可读、何时归还,以及异步回调是否允许长期持有数据。记录队列长度和等待时间。若业务允许丢弃旧帧,应保留丢弃原因和数量;若要求完整保存,则应按吞吐和背压设计处理链,不能仅扩大队列后假定问题消失。
时间信息与恢复
记录时间戳来源和时钟含义,区分曝光、接收、入队与处理完成。断连后明确参数重下发、缓冲清理和帧序列重新开始的条件。未具备设备端时标或独立参考时,不能把主机时间直接用于宣称曝光同步或完整端到端响应。
按约定工况、并发和时长验证正常流程与异常恢复,交付配置、计数口径、原始日志及复现步骤。相关服务:图像采集开发、视觉硬件SDK。