我使用 Windows 驱动程序模型 (WDM) 为 Windows 2000 及更高版本的 USB 1.1 设备开发了设备驱动程序。
我的问题是使用 64 字节批量传输时 Tx 性能非常差。根据使用的 USB 主机控制器,最大数据包吞吐量为每秒 1000 个数据包 (UHCI) 或 2000 个数据包 (OHCI)。我在 Linux Kernel 2.6 上开发了一个类似的驱动程序,每秒大约 5000 个数据包。
Linux 驱动程序使用最多 10 个异步批量传输,而 Windows 驱动程序使用 1 个同步批量传输。因此,比较这一点可以清楚地表明,虽然性能如此糟糕,但我已经尝试过异步批量传输,但没有成功(没有性能提升)。
有没有人有一些提示和技巧来提高 Windows 的性能?