WinUSBの通信速度について
投稿者: せれ 投稿日時: 木, 2009/06/11 - 14:48
お世話になります。
WinUSBの通信速度について質問させてください。
WinUSBを使用すれば、カーネルドライバを作成せずにアプリケーションからUSBデバイスを
制御できると聞いて採用しようと思ったのですが、リフレクタを介するのでWDMやKMDFで作成
したUSBドライバに比べて通信速度が落ちるという話を小耳にはさみました。
WinUSBでは、どの程度の通信速度が確保できるのでしょうか。
通信速度は無負荷で140Mbpsを目指しています。
どなたかアドバイス等いただければ幸いです。

実際にWinUSBを使用し
実際にWinUSBを使用しているわけではないので、参考までに。
今時のPCを使っている限り、ソフト(ドライバ)による速度低下は、極わずかではないでしょうか。
WinUSBを使わない場合でも、作り方にもよりますが、自ドライバ→バスドライバ、と2重の転送ルートがあるのは変わりません。
よほどシビアな速度を要求されるとなれば、関わってくるでしょうけど。
通信速度に大きく関わってくるのは、むしろハード側の要因の方が大きいのではないでしょうか。
WinUSB/UMDF
WinUSB/UMDF のアーキテクチャでドライバを開発する場合には、USB Reset Pipeの問題など、デバイスの種類によっては適さない場合があります。
WinUSBを利用した開発を検討する場合には通常、通信速度よりもまず、開発しようとしているドライバが、WinUSBで開発可能かどうかを良く検討された方が良いかと思います。
KMDFやWDMでいまだに新規のUSBドライバを開発する理由は、実際、WinUSB利用のドライバでの開発では対応できない場合や、不安定な場合があるからです。USBというバス規格は結構いろいろな相性問題が付いて回るので、一旦WinUSBで開発したドライバでも、使いたい環境や、状況によってはKMDFで開発し直すことがあるという話も聞きます。
ご指摘の様にUMDFはリフレクタを介するので、その分性能余計なコンテキスト・スイッチが入り、理論的には性能が落ちるという事になりますが、それではどのくらい性能が落ちるのかは、WDKのEchoのサンプルで試しみれば良くわかると思います。
お二人とも情報あり
お二人とも情報ありがとうございました