pango99
驱动牛犊
驱动牛犊
  • 注册日期2001-08-21
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1655回复:4

从PCI总线上读数据要占用CPU资源?

楼主#
更多 发布于:2003-09-22 13:04
我在一装有两枚PCI视频采集卡的机器上开发一应用,每枚卡有四个采集口,可同时采集四路图象和声音,我的程序目前只是在一窗口上同时显示7路采集来的图象,并没有记录硬盘.1路图象大小是640x480,其他都是312x192,7路都是25fps.运行程序后发现CPU占用率非常高,我的1.5G P4机器的处理能力几乎被耗光了.按理说我的程序只是简单的接受采集卡采集来的图象并显示,中间没进行什么数据处理,不该有如此高的CPU占用,是不是从PCI总线上读数据给消耗了?

最新喜欢:

beni_wbeni_w
grant
驱动老牛
驱动老牛
  • 注册日期2001-05-14
  • 最后登录2007-04-13
  • 粉丝0
  • 关注0
  • 积分350分
  • 威望35点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-09-22 16:56
板卡是用DMA到主存的吗?如果是的话,CPU占用应该很少才对。
你如何等待每帧信号的结束呢?是不是有所谓“busy wait”的情况出现?
助人乃快乐之本 有人给分就更快乐了 :-)
siteddy
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2005-02-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-09-22 17:03
如果你的数据是从卡直接到显存的方式,那么数据传输是不太会占用CPU资源的,如果你的数据是从卡到内存再倒入显存(不经过转换,且DMA)那么也不会太占用CPU资源,如果你的卡频繁来中断,那你的CPU就可能被大量占用了。如果你的卡的驱动是成熟的,那么我认为你可以考虑是不是你的数据实际上是从卡到内存而且经过你的应用程序解码到显存的?软件解码肯定是要耗大量CPU资源滴 :P
teddy
hong
驱动小牛
驱动小牛
  • 注册日期2001-09-19
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-09-24 23:07
1. do you use interrupt?
2. do you use DirectX to display?

these are the two main issues for CPU resources.

you may like to explain the capture and display procedure in details so that someone can help you solve the problem.
xtli_21
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2005-12-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-09-25 17:27
把显示数据直接Dma到显存,压缩数据传上来就可以了。主要是PCI总线消耗的
游客

返回顶部