PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

[求助]有没有不占CPU资源的独立网卡

[复制链接]
sewsew 发表于 2017-4-8 15:01 | 显示全部楼层 |阅读模式
点击数:2310|回复数:27
本帖最后由 sewsew 于 2017-4-9 16:40 编辑

背景描述:有台工控机上面需要接连4个千兆网口的工业相机(就是摄像头),使用较廉价的PCI千兆网卡接入(型号不记得了)。单个工业相机的带宽约700Mbps,所以PCI千兆网卡理论上足够了。一共使用3个PCI的千兆网卡和一个PCI-E 1X的千兆网卡。PC硬件为Z97主板、四代I7、16G内存、9X0系列N卡

故障描述:四个相机同时采集图像的话,电脑非常的卡,而且图像丢帧率达到90%。若使用主板自带的网卡的话,通过千兆交换机连接4个相机,卡顿的情况有所缓解,但是由于带宽不足,图像丢帧率约70%,还是不能满足要求。

目前有两点怀疑:
1. PCI接口的带宽是共享的,所以无法同时负载700Mbps×4的带宽
2. PCI网卡使用的CPU资源过多,单个核心负载不来。核心指的是windows系统负责网卡等硬件的线程,工控机上的程序是多线程的,不存在性能瓶颈的问题

所以请教各位大佬,是否有不占用CPU资源的独立网卡?

补充说明:1. 仅显示实时画面,不保存视频到磁盘,流量分析的那个服务也关掉了,所以应该不是硬盘的瓶颈
2. 只显示一个摄像头的画面时,丢帧率为0,CPU占用率没有占满一个核心。同时打开四个摄像头时,使用了4个线程,每个线程负责一个摄像头的显示。所以应该也不是与CPU相关的图像采集和解码的瓶颈。



丶季沫 发表于 2017-4-8 15:08 | 显示全部楼层
买服务器网卡,拆机的那种 一个pcie*8带两个网卡口。
来自安卓客户端来自安卓客户端
sewsew  楼主| 发表于 2017-4-8 15:43 | 显示全部楼层
丶季沫 发表于 2017-4-8 15:08
买服务器网卡,拆机的那种 一个pcie*8带两个网卡口。

请问有具体的型号没?
nighttob 发表于 2017-4-8 16:30 | 显示全部楼层
只需要把摄像机的码流吃下来,不需要消化吗?
700Mbps码流的视频,如果有转码的需要,那压力很巨大的
sewsew  楼主| 发表于 2017-4-8 17:18 | 显示全部楼层
nighttob 发表于 2017-4-8 16:30
只需要把摄像机的码流吃下来,不需要消化吗?
700Mbps码流的视频,如果有转码的需要,那压力很巨大的 ...

不需要消化,只在必要的时候获取某一帧,再做标定即可。所以绝大多数时间仅仅是显示图像。
909648183 发表于 2017-4-8 17:56 | 显示全部楼层
本帖最后由 909648183 于 2017-4-8 18:00 编辑
sewsew 发表于 2017-4-8 17:18
不需要消化,只在必要的时候获取某一帧,再做标定即可。所以绝大多数时间仅仅是显示图像。
...

用网络传输视频,传输的应该不是原始视频信号吧,而是在摄像头端实时编码的视频流,这时工控机本地就需要进行解码才能显示图像

解码算是比较耗资源的工作,甚至有可能是硬盘速度不够导致卡顿

至于是否由于网卡负载导致的卡顿,看下CPU各个核心的负载不就行了?
牙医小天 发表于 2017-4-8 22:38 | 显示全部楼层
909648183 发表于 2017-4-8 17:56
用网络传输视频,传输的应该不是原始视频信号吧,而是在摄像头端实时编码的视频流,这时工控机本地就需要 ...

所以还要排查原因,
4代97平台,PCI不是原生的。另32位pci理论带宽约1Gbps,64位约4Gbps。原生PCI插槽是共享带宽的,但非原生说不准,不过99.99%可能也是共享的,除非每个插槽都有独立芯片。
再者,听你说视频需要采集并显示出来,经过这一过程,视频肯定是经过编码并且解码的,那么如此以来编码解码的重任肯定在cpu上,所以这个原因是大头好好排查。
另外在网络流量很大的时候,硬盘的读写速度对系统的响应影响很大。

来自安卓客户端来自安卓客户端
gxh5720 发表于 2017-4-9 07:02 | 显示全部楼层
rtl占cpu较多 英特尔的的占用cpu很少。话说你摄像头这么高清要跑满700Mb带宽?那要87mb/s。4个摄像头要350mb/s。你硬盘能行?
Atom 发表于 2017-4-9 13:44 | 显示全部楼层
拆机的9402PT。自带Mac和phy,应该可以减少CPU占用。
来自苹果客户端来自苹果客户端
sewsew  楼主| 发表于 2017-4-9 16:06 | 显示全部楼层
gxh5720 发表于 2017-4-9 07:02
rtl占cpu较多 英特尔的的占用cpu很少。话说你摄像头这么高清要跑满700Mb带宽?那要87mb/s。4个摄像头要350m ...

该工控机只显示四个摄像头的画面,而且所有图像均是bmp格式,并不涉及到视频保存和转码。可以认为与硬盘没有关系
sewsew  楼主| 发表于 2017-4-9 16:12 | 显示全部楼层
909648183 发表于 2017-4-8 17:56
用网络传输视频,传输的应该不是原始视频信号吧,而是在摄像头端实时编码的视频流,这时工控机本地就需要 ...

工控机仅仅负责显示图像,不会保存视频到本地磁盘,所以不存在硬盘瓶颈。另外,图像其实是一帧帧采集的,格式为bmp,真真运行的时候CPU占用率并不高。远没有达到4个虚拟核心占满的程度
sewsew  楼主| 发表于 2017-4-9 16:16 | 显示全部楼层
牙医小天 发表于 2017-4-8 22:38
所以还要排查原因,
4代97平台,PCI不是原生的。另32位pci理论带宽约1Gbps,64位约4Gbps。原生PCI插槽是 ...

1. 仅仅显示实时画面,并不保存视频到磁盘,所以不存在磁盘瓶颈
2. 仅显示一个摄像头画面的情况下,丢帧率为0,CPU占用率不超过12%,约5%~8%,(8个核心,单核心占满为12%),且工控机程序本身就是使用多线程来处理的,每个线程负责一个摄像头,所以应该不是CPU转码性能不足的问题。
sewsew  楼主| 发表于 2017-4-9 16:24 | 显示全部楼层
Atom 发表于 2017-4-9 13:44
拆机的9402PT。自带Mac和phy,应该可以减少CPU占用。

谢谢,我去淘宝看看
laress 发表于 2017-4-9 17:54 | 显示全部楼层
主机内存多大   四个bmp巨大  虚拟内存吃紧    加内存换ssd试试
来自苹果客户端来自苹果客户端
laress 发表于 2017-4-9 17:56 | 显示全部楼层
哦有16g  那就买pcie的网卡吧
来自苹果客户端来自苹果客户端
gxh5720 发表于 2017-4-9 19:25 | 显示全部楼层
sewsew 发表于 2017-4-9 16:06
该工控机只显示四个摄像头的画面,而且所有图像均是bmp格式,并不涉及到视频保存和转码。可以认为与硬盘 ...

不转码,这cpu带最吃cpu的4网卡完全足够。可以用资源管理器看看哪个是瓶颈。硬盘不保存应该也要缓存的吧。我觉得还是内存和硬盘。加大内存和换ssd试试。
909648183 发表于 2017-4-9 20:03 | 显示全部楼层
本帖最后由 909648183 于 2017-4-9 20:04 编辑

直接换个PCIe 四口千兆网卡吧

PCI的话你得看说明书,现在的主板都没有原生PCI了,这3个PCI是怎么从PCIe拆分出来的,如果是从PCIe 2.0 1X分的话,确实可能带宽不够
sewsew  楼主| 发表于 2017-4-12 09:50 | 显示全部楼层
laress 发表于 2017-4-9 17:54
主机内存多大   四个bmp巨大  虚拟内存吃紧    加内存换ssd试试

16G的内存,由于是32位应用程序,所以不存在内存不够的情况
sewsew  楼主| 发表于 2017-4-12 09:51 | 显示全部楼层
gxh5720 发表于 2017-4-9 19:25
不转码,这cpu带最吃cpu的4网卡完全足够。可以用资源管理器看看哪个是瓶颈。硬盘不保存应该也要缓存的吧 ...

16G内存,程序运行过程中几乎不需要访问硬盘,所以内存和硬盘不是瓶颈
az6338890 发表于 2017-4-13 11:35 | 显示全部楼层
为啥要摄像头直接连电脑而不是中间经过录像机呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部