- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
I am trying to create a C# application that saves data into a text file when the fx3 is interfacing with a FPGA.
Using the XferData function from CyUSB.dll, i can only get transfer rates less then 10MB/s (saving into SSD) while your Streamer application show a throughput around 180MB/s.
What is wrong?
Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
XferData is an Synchronous (Blocking) API. i.e. It performs synchronous (i.e. blocking) IO operations and does not return until the transaction completes or the endpoint's TimeOut has elapsed.
Whereas, stremaer application uses Asynchronous APIs (BEginxferData, WaitForXfer, FinishXferData). BeginDataXfer is an advanced method for performing asynchronous IO. This method sets-up all the parameters for a data transfer, initiates the transfer, and immediately returns, not waiting for the transfer to complete. You are seeinng better throughput with streaer mostly due to this. What is the packtes per Xfer and xfers to Queue that you have selected in streamer app?
You can find details in the CyUSB.NET Programmer's manual, when you install the SuperSpeed USBSuite.
Regards,
Gayathri