Recently I started to look into Aravis to utilize USB3 vision devices only with the OSS software stack.
Aravis has done great work!
At the same time, I’ve faced a performance issue for Mono12 FullHD at 60fps.
It only runs at ~50fps even though some proprietary userland-based libraries can transfer with 60fps.
I’ve found some USB async branches and topics on this forum, and I want to try it to improve performance.
Where can I start it?
On which hardware are you running Aravis ? On a regular laptop, the USB performance should not be an issue.
I’ve found some USB async branches and topics on this forum, and I want to try it to improve performance.
It is just a proof of concept, meant for testing. It has shown it improves performance greatly on underpowered platform like raspberry pi or nvidia jetson boards.
I would be more than happy if someone could resume this work.
Currently, I’m running on a powerful x86 desktop, but eventually, we will test on some embedded board.
Additionally, our camera device is something special, high-fps/resolution and stereo devices.
That’s why we need to improve the performance.
Thanks for the pointer.
I do want to test it and I would like to contribute to this work.
Can I ask your opinions what is the rest of the items we need to achieve?
And how is that branch related to these PRs (#328, #334)?
I don’t remember the difference between the 2 PRs :frowning, but #334 should be the most recent, and probably more up to date than the branch I have mentioned.
I think, thanks to makelinux most of the work is done. What I would like before the integration to the main branch is:
obviously a port to the current main branhc state
an API for async/sync mode selection, sync by default for now
some sanity check at stream thread destruction the UBS async commands are done (I’m not sure something is needed)