For the wintvci driver, it is the way URBs are transmitted.
The start time of a single URB transmission is assigned by a scheduler to the next free time slot. There is one time slot every millisecond and depending on usb traffic or delays due hardware tasks, the assigned next free slot may be a few milliseconds in the future.
in your case it only took only 1 millisecond to transfer the small data package but about 2 milliseconds waiting in the scheduler.
Therefore, wasting 2/3rd of the time, only 326 URB transmissions per second were possible.
What I ask myself: if minisatip writes to the driver over 300 times per second at only 16 Mbps, then what is at 48 Mbps or even 96 Mbps ?
Will minisatip then really try 1000x or 2000x (!) Writes per second ?
Helmut