Hi all, I've been working on a driver for the OakD ProW POE and I have been dealing with a lot of latency issues. To clarify, by latency I mean the time difference between when the image was captured on device and when we recieve it on the host compute. I've gone through most of the documentation on latency imporvement here.
I'm running the camera a 800P resolution.
My network Configuration looks something like this:
- OakD ProW PoE -> Switch -> 10Gbps link -> PC
What I have tried so far:
- Enable/Disable on device encoding: Enabling encoding did reduce latency but there was an increase in the variance of the latency values
- Reducing fps: Tried both 15 and 10fps. Reducing fps did reduce latency but the random spikes on the latency graph were not eliminated.
- Changing NIC settings: Based on the ethtool settings here
- Turning on/off jumbo frames and delayed ack as mentioned under advanced settings: here
- Changing speed mode to
dai::UsbSpeed::SUPER_PLUS
- Disabling chunking via: pipeline.setXLinkChunkSize(0);