阅读:1611回复:15
应用程序与驱动程序之间的通信时间问题
我用ds编写了一个wdm驱动程序,在xp下运行读写端口的应用程序后发现执行时间较长。在98下安装vxd驱动程序,运行同样的应用程序发现要比xp下速度明显要快。由于98下可以对端口直接操作,而xp下不能直接操作端口,98下肯定要快一些,但是xp下运行速度不应该明显降低吧。在98下完成一次读写为2微秒,xp下为120微秒,xp下调用irp不应该花那么长时间吧。请教各位高手这是为什么,是驱动程序本身的原因,还是系统的问题,或是其他方面造成的。
|
|
沙发#
发布于:2004-08-27 15:13
关注……
|
|
|
板凳#
发布于:2004-08-27 16:49
好象差不多吧,DeviceIOcontrol很慢的~~~
|
|
|
地板#
发布于:2004-08-27 17:11
这也太慢了吧,xp比在98下慢几十倍啊
|
|
地下室#
发布于:2004-08-27 17:30
没错,DeviceIOcontrol很慢的,98是最快的.
|
|
5楼#
发布于:2004-08-27 17:38
能差几十倍吗?关注……
|
|
|
6楼#
发布于:2004-08-28 13:02
能差几十倍吗?关注…… 如果进行频繁的IOCTL,有可能达到几十倍,可以通过相应的优化(把多个IOCTL集成到一个里面),速度能够有所提高, 本人作过实验,经过相应处理后,能够达到98下的90%左右. |
|
7楼#
发布于:2004-08-30 15:17
厉害 |
|
|
8楼#
发布于:2004-08-30 17:58
[quote]能差几十倍吗?关注…… 如果进行频繁的IOCTL,有可能达到几十倍,可以通过相应的优化(把多个IOCTL集成到一个里面),速度能够有所提高, 本人作过实验,经过相应处理后,能够达到98下的90%左右. [/quote] 能详细解释一下吗?多谢 |
|
|
9楼#
发布于:2004-08-31 09:38
Sundsea大哥的意思是把多个数据放到一个数组中然后再跟驱动通信吗
|
|
10楼#
发布于:2004-08-31 10:05
尽量把所有的数据放到一起,这样的话,系统可以把所有的数据都放到CPU的CASHE中而不用访问较慢的系统内存.
|
|
|
11楼#
发布于:2004-08-31 16:31
刚才测试了一下应用程序与驱动程序的通信时间,2k下是100多微秒,xp下是50多微秒,请问各位高手两种操作系统差别那么大吗,这是什么原因造成的
|
|
12楼#
发布于:2004-09-01 15:59
up :P
|
|
|
13楼#
发布于:2004-09-02 09:38
请教各位高手为什么2k下应用程序与驱动程序的通信时间要比xp下慢
|
|
14楼#
发布于:2004-09-03 13:51
那位高手能指点一下啊
|
|
15楼#
发布于:2004-09-03 13:57
os进行的优化....
|
|
|