C++ 数据包延迟变化(PDV)

C++ 数据包延迟变化(PDV),c++,delay,packet,iocp,variation,C++,Delay,Packet,Iocp,Variation,我目前正在实施视频流应用程序,目标是尽可能多地利用千兆以太网带宽 应用程序协议建立在tcp/ip之上 网络库使用异步iocp机制 只需要通过局域网进行流式传输 不需要数据包通过路由器 这简化了许多事情。然而,我遇到了数据包延迟变化的问题 这意味着,例如每20毫秒(1280 x 720p 50Hz视频信号)到达的视频帧有时会延迟几十毫秒。更多: 保持平均帧速率 最大视频帧延迟取决于网络利用率 局域网上的数据越多,最大视频帧延迟越高 例如,当带宽使用率为800mbps时,PDV为45-50m

我目前正在实施视频流应用程序,目标是尽可能多地利用千兆以太网带宽

  • 应用程序协议建立在tcp/ip之上
  • 网络库使用异步iocp机制
  • 只需要通过局域网进行流式传输
  • 不需要数据包通过路由器
这简化了许多事情。然而,我遇到了数据包延迟变化的问题

这意味着,例如每20毫秒(1280 x 720p 50Hz视频信号)到达的视频帧有时会延迟几十毫秒。更多:

  • 保持平均帧速率
  • 最大视频帧延迟取决于网络利用率
  • 局域网上的数据越多,最大视频帧延迟越高
例如,当带宽使用率为800mbps时,PDV为45-50ms

对于我的问题:

  • 降低该值的实际界限是什么
  • 你知道互联网上关于这方面的测量报告吗

我想知道我的应用程序中是否存在一些细微的错误(可能是过度锁定),或者目前的技术无法使数字变得更好。

对于视频流,我建议使用UDP而不是TCP,因为它开销较小,通常不需要包确认,由于重新传输的数据已经过时。

对于视频流,我建议使用UDP而不是TCP,因为它开销较小,并且通常不需要数据包确认,因为重新传输的数据已经过时。

请查看我的编辑以了解可读性。我保留了你的意思吗?请检查我的编辑是否可读。我保留了你的意思吗?