图像数据以200 mb / s的速度进入我的网卡。我正在使用winpcap来捕获这些数据。这个数据基本上只需要直接到我的应用程序级别 - 我不需要任何过滤器。为了最大限度地提高效率,我的第六感告诉我两个数据存储(从NIC驱动程序缓冲区到Winkpcap内核缓冲区;从内核缓冲区到我的用户缓冲区)效率低下并浪费CPU。是否可以优化系统?或者有更好的方法来实现这一目标吗? (也许是Windows的pf_ring类型解决方案)
答案 0 :(得分:0)
这是您可以执行的操作:
pcap_setbuff
将WinPcap缓冲区配置为较大的值(例如100MiB)read_timeout
的参数pcap_open
60B / 200Mbps = 2.4µs
以确保没有数据包丢失。 答案 1 :(得分:0)
如果您使用的是Windows 7或更高版本,则也可以尝试Npcap。