While implementing a Windows 7 application to read data from IN endpoints I started by following closely “the letter of the law” and looped the CyAPI XferData call to the driver with a buffer length and length according to the documentation namely 512 bytes for high speed and 1024 for super speed. This resulted in very poor performance, as I was missing data. Next I decided to see if I used for the aforementioned call bigger buffer length, which immediately improved performance. However, the upper limit I hit was 32K size buffers, which is really good but for the fact that I still miss some data in between XferData calls. I would appreciate anybody on the forum that may have a solution for me, even if it means making changes to the device driver to handle much bigger buffer transfers.
Please checkout the way streamer application is implemented. You can find it in the following path after Suite USB installation: C:\Cypress\Cypress Suite USB 3.4.7\CyAPI\examples\Streamer