gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
阅读:7537回复:24

Vista下USB设备驱动性能探讨

楼主#
更多 发布于:2007-02-08 09:44
用户被禁言,该主题自动屏蔽!
duanmu012345
驱动牛犊
驱动牛犊
  • 注册日期2007-09-30
  • 最后登录2013-08-04
  • 粉丝2
  • 关注1
  • 积分32分
  • 威望244点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-04-01 15:17
回 23楼(gutian98) 的帖子
请问LZ,这个问题现在解决了么?用什么方式去解决的?
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
板凳#
发布于:2007-08-21 17:11
用户被禁言,该主题自动屏蔽!
bestgod
驱动牛犊
驱动牛犊
  • 注册日期2007-08-21
  • 最后登录2007-08-21
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-21 15:24
这个网站好死板!!!这样死板,会不会影响信息的广泛交流啊?!
bestgod
驱动牛犊
驱动牛犊
  • 注册日期2007-08-21
  • 最后登录2007-08-21
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-21 15:22
我只是个VISTA旗舰版正版用户,我感觉到USB驱动应该是有问题的,因为我在XP与VISTA系统下插入带USB音频解码器的音箱,XP下音箱正常工作,而VISTA下音箱的声音有可能会断断续续的,尤其是还在操作其它软件时更严重!!!我的XP和VISTA版本都是32位的,这几天我想升级到VISTA 64位版本再试一试,看看是否能够解决这个令人头痛的问题,首先要说明的是,我的音箱绝对没有问题,至少在XP下工作非常正常,音箱是BOSE的C5 2.1多媒体音箱!!!
chaijh
驱动牛犊
驱动牛犊
  • 注册日期2005-03-10
  • 最后登录2010-07-08
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望24点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-07-10 21:56


我已经解决了这个问题,和大家分享下.

就是楼上说的, 一个URB传输不了那么多,那就分成多个URB传输就是了,然后在 Complete Routine 里面判断如果是最后一个小URB就完成该次传输.

由于URB连续发出,所以不会造成固件那边的数据丢失.
kris2001
驱动小牛
驱动小牛
  • 注册日期2004-05-18
  • 最后登录2011-02-26
  • 粉丝0
  • 关注0
  • 积分582分
  • 威望78点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-07-04 11:05
楼上解决了?厉害啊。
DTUSB20 --www.dothinkey.com
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
7楼#
发布于:2007-07-02 16:33
用户被禁言,该主题自动屏蔽!
kris2001
驱动小牛
驱动小牛
  • 注册日期2004-05-18
  • 最后登录2011-02-26
  • 粉丝0
  • 关注0
  • 积分582分
  • 威望78点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-07-02 14:31
250US delay?就是0.25ms?不可能这样啊?!但是无疑,Vista的usb Host驱动有问题是真的。
DTUSB20 --www.dothinkey.com
kris2001
驱动小牛
驱动小牛
  • 注册日期2004-05-18
  • 最后登录2011-02-26
  • 粉丝0
  • 关注0
  • 积分582分
  • 威望78点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-07-02 14:26
一次传输大于512K没有什么问题啊,还是可以的。就是速度必须慢一些。很奇怪的事情是:连VGA的分辨率都会速度慢下来。郁闷啊。Microsoft到底改了什么啊。
DTUSB20 --www.dothinkey.com
kris2001
驱动小牛
驱动小牛
  • 注册日期2004-05-18
  • 最后登录2011-02-26
  • 粉丝0
  • 关注0
  • 积分582分
  • 威望78点
  • 贡献值0点
  • 好评度54点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-07-02 12:00
确实有这个问题。Microsoft搞什么鬼啊。郁闷死我了。XP下面好好的,Vista不行。
DTUSB20 --www.dothinkey.com
lotusjun
驱动牛犊
驱动牛犊
  • 注册日期2005-09-13
  • 最后登录2009-03-12
  • 粉丝0
  • 关注0
  • 积分141分
  • 威望17点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-06-05 09:03
更正一下,是250us,是microsoft的技术支持给的答复。
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-06-04 21:40
引用第10楼gutian98于2007-06-04 09:01发表的  :
据可靠消息,微软为Vista系统的ehci驱动做了优化,其中一个优化是这样的:对于bulk管道,如果驱动一次请求比较大的数据传输的时候,系统驱动每收到512k的数据之后会有250纳秒延迟,也就是会有2个微帧不去向设备读数据。
对于这个现象,我的分析(不一定正确)是:这样有可能导致设备认为主机不再需要后面的数据了,因此如果设备一帧的数据大于512k,设备会认为系统驱动只请求512k,后面的会丢弃。而主机延迟了250纳秒之后再来请求却因为设备已经丢弃了数据而读不到数据了。
为此我想请教对固件比较熟悉的网友,是否可以让设备对250纳秒的延迟进行检测而能够继续把512k之后的数据传输上去呢?
如果这个方法不行的话,那也许以后的高分辨率的摄像头将只能采用isochronous的方式来进行传输了。

你这个可靠消息的出处原文在哪里,能介绍一下吗?
另外,我觉得让固件对250ns的delay作检测不好做的,而且改固件可能risk比较高。。你现在的设备一次发多大的数据给主机?还有设备的buffer多大,怎么组织?你的驱动怎么去读数据?
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-06-04 21:28
可以找Microsoft报一个Customer Bug, 让那些牛人去解好了....找到root cause了,他们会告诉你的....
lotusjun
驱动牛犊
驱动牛犊
  • 注册日期2005-09-13
  • 最后登录2009-03-12
  • 粉丝0
  • 关注0
  • 积分141分
  • 威望17点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-06-04 10:25
用bulk读取数据时,驱动里面可以不一次性发送读取2Mbytes数据的请求吗?我看到ddk下的例子bulkusb里面是分了多个irp/urb发送的,不知道这样能不能保证数据不会丢失?

我在2000下用这个例子测了一下,发现数据总是一帧对的一帧错的,不知道还需要什么样的处理才可以?
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
15楼#
发布于:2007-06-04 09:01
用户被禁言,该主题自动屏蔽!
zuoyue
驱动牛犊
驱动牛犊
  • 注册日期2007-03-13
  • 最后登录2008-03-15
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2007-06-03 05:45

Doron 是大牛
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
17楼#
发布于:2007-05-31 20:42
用户被禁言,该主题自动屏蔽!
zuoyue
驱动牛犊
驱动牛犊
  • 注册日期2007-03-13
  • 最后登录2008-03-15
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2007-05-22 13:51
把你的问题翻译成英语,然后发到这个news group:
microsoft.public.development.device.drivers

会有人帮你解答的

引用第6楼gutian98于2007-05-14 13:56发表的  :
楼上的解决了吗?  
gutian98
禁止发言
禁止发言
  • 注册日期2003-01-12
  • 最后登录2016-12-11
  • 粉丝4
  • 关注2
  • 积分760分
  • 威望8026点
  • 贡献值1点
  • 好评度364点
  • 原创分0分
  • 专家分21分
  • 金点子奖
  • 社区居民
19楼#
发布于:2007-05-14 13:56
用户被禁言,该主题自动屏蔽!
上一页
游客

返回顶部