怎样提高Windows的数据采集速度?解决方法

怎样提高Windows的数据采集速度?
我现在在用工控机做实时控制,从外界数据采集卡采集到的数据怎样才能更快地读到系统内存中呢?最好在100us之内。
Windows定时器的定时精度只有55ms,多媒体的也只有7ms,如果用QueryPerformanceFrequency()和QueryPerformanceCounter(),他们一直运行好像会将CPU占用太高,有没有好的解决办法?

单CPU可不可以做到边采集边做其他事??

用没有人用双CPU做过这种方案?

------解决方案--------------------
windows本来就不是一个RTOS它对时间的把握并不严格,要不你换OS吧

单CPU永远在中一时刻里只能做一件事,只不过是操作系统多任务的思想,让它看起来像是同时做多件事罢了...

就算是多CPU,在访问同一块内存的时候也不允许同时操作,那会在读写上出问题的...


------解决方案--------------------
DMA+中断可以解决,但是需要写驱动,对软件水平要求太高。
------解决方案--------------------
windows双CPU也不能分个CPU给你,XP后的系统不知道,没研究过。
Linux据说可以把一个CPU单分配给一个任务,也是据说而已。

QueryPerformanceFrequency应该就可以了。建立个线程运行。
不过,他不能保证都是100us采一下。

我原来用QueryPerformanceCounter做,几百K的频率也能做到,不过是windows下,其他操作多少会影响到。


好运
------解决方案--------------------
在驱动层面用中断服务程序解决实时性问题,采集还可以,但是用GUI显示速度肯定事跟不上了。
------解决方案--------------------
100US?你采集卡得采集周期最快能到多少?