Windows 2000 以降で Windows Driver Model (WDM) を使用して、USB 1.1 デバイス用のデバイス ドライバーを開発しました。
私の問題は、64 バイトのバルク転送を使用した場合の Tx パフォーマンスがかなり悪いことです。使用する USB ホスト コントローラに応じて、最大パケット スループットは 1 秒あたり 1000 パケット (UHCI) または 2000 パケット (OHCI) です。Linux Kernel 2.6 で、1 秒あたり約 5000 パケットの同様のドライバーを開発しました。
Linux ドライバーは最大 10 の非同期バルク転送を使用しますが、Windows ドライバーは 1 つの同期バルク転送を使用します。したがって、これを比較すると、パフォーマンスが非常に悪いことは明らかですが、非同期バルク転送でも試してみましたが、成功しませんでした (パフォーマンスの向上はありません)。
Windows でパフォーマンスを向上させるためのヒントやコツを知っている人はいますか?