I got video capture running so iso pipe with multiple IRP submissions
is working well! Some video frames are messed up but it looks like this has
to be settled between the chip and the application. The leak is still there as I
wrote before though.
I also ran device without activation of the iso pipe with an infinite loop
of syncSubmit to a control pipe. It's quite stable: no exceptions, no
hangs. However it's leaking 150-200 bytes per submission. GC shows
a clear growth of allocated memory, eventually an OutOfMemoryError is
thrown. RI from the last year was not leaking under normal conditions.
Another problem with the control pipe is that it takes 9-12 ms for
syncSubmit call to return. Compare this to 2-4 ms for the Windows driver
(probably 3 ms or less on average). It's quite important for applications
that use control pipe a lot: I2C read is 4 syncSubmit calls so it'll
take a second to get a telemetry packet of 20 bytes. I don't know how to use
composite IRPs with asyncSubmit since you have to alternate reads and
writes on the control pipe with program logic in the middle that
depends on results of these reads (checking for I2C ready).
Boris |
- Re: [javax-usb-devel] iso, syncSubmit on control pipe Boris Dainson
- Re: [javax-usb-devel] iso, syncSubmit on control pipe Dan Streetman
- Re: [javax-usb-devel] iso, syncSubmit on control pi... Boris Dainson
- Re: [javax-usb-devel] iso, syncSubmit on contro... Dan Streetman
- Re: [javax-usb-devel] iso, syncSubmit on co... Boris Dainson
- Re: [javax-usb-devel] iso, syncSubmit ... Dan Streetman
- Re: [javax-usb-devel] iso, syncSub... Boris Dainson
- Re: [javax-usb-devel] iso, syn... Dan Streetman