阅读:1713回复:4
从PCI总线上读数据要占用CPU资源?
我在一装有两枚PCI视频采集卡的机器上开发一应用,每枚卡有四个采集口,可同时采集四路图象和声音,我的程序目前只是在一窗口上同时显示7路采集来的图象,并没有记录硬盘.1路图象大小是640x480,其他都是312x192,7路都是25fps.运行程序后发现CPU占用率非常高,我的1.5G P4机器的处理能力几乎被耗光了.按理说我的程序只是简单的接受采集卡采集来的图象并显示,中间没进行什么数据处理,不该有如此高的CPU占用,是不是从PCI总线上读数据给消耗了?
|
|
最新喜欢:beni_w |
沙发#
发布于:2003-09-22 16:56
板卡是用DMA到主存的吗?如果是的话,CPU占用应该很少才对。
你如何等待每帧信号的结束呢?是不是有所谓“busy wait”的情况出现? |
|
|
板凳#
发布于:2003-09-22 17:03
如果你的数据是从卡直接到显存的方式,那么数据传输是不太会占用CPU资源的,如果你的数据是从卡到内存再倒入显存(不经过转换,且DMA)那么也不会太占用CPU资源,如果你的卡频繁来中断,那你的CPU就可能被大量占用了。如果你的卡的驱动是成熟的,那么我认为你可以考虑是不是你的数据实际上是从卡到内存而且经过你的应用程序解码到显存的?软件解码肯定是要耗大量CPU资源滴 :P
|
|
|
地板#
发布于: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. |
|
地下室#
发布于:2003-09-25 17:27
把显示数据直接Dma到显存,压缩数据传上来就可以了。主要是PCI总线消耗的
|
|