我们在连接到 Windows 10 机器的预留单个 1Gb 以太网端口上运行高分辨率相机。我们让相机在自动触发模式下运行,这样它就可以尽可能快地拍摄和发送图像 - 至少这是我从观察到的网络流量中推断出来的:一旦我们启动相机,以太网利用率就会上升到 Windows 机器上接收的约 580Mb。
但是:我们的图像处理软件 (HALCON) 不会抓取相机发送的每一帧。对于我们的任务来说,这不是问题(几乎是静态场景,我们只需要在大约 200 毫秒后处理完旧帧后再获取新帧),但尝试抓取下一图像会导致完全任意的延迟,持续时间从大约 100 毫秒到 20-30 秒不等。可疑的是,第一次抓取运行顺利,之后我们才会遇到不可预测的等待时间。这些延迟是否可能来自应用程序/网络驱动程序/操作系统(我不知道是哪一个)在接收数据流中拖延并丢弃旧数据包?有没有办法将一个网络接口上的 Windows 限制为几 MB 的接收缓冲区,这样它就不会尝试建立数百 MB 的数据流,而这些数据流无论如何都会被丢弃?
提前致谢
PS:抱歉,我的语言比较外行,我的背景是嵌入式工程。
PPS:Windows 防火墙已对所有端口禁用