Hi together,
what are the current latencies for using your GSML2 cameras, especially ZED X mini? (in combination with 1) Your capture cards or 2) ZED Box mini directly
I read you had some problems with that one year ago - are these issues fixed? Is the GSML Standard in general lower in latency than the USB devices?
Thanks
Erik
Hi Eric,
Thank you for reaching out with your questions.
Regarding latency, the issue has been resolved, and we now achieve a latency of 1–2 frames.
I wouldn’t say that the full GMSL2 stack is significantly lower in latency compared to USB 3.0, especially at high throughput. The difference is around ~10 ms in total. However, GMSL2 offers much more stable latency, particularly on embedded devices. With GMSL2, latency remains consistent, whereas USB 3.0 performance depends heavily on the host/driver and the number of connected cameras.
Best,
Rodolphe
Stereolabs Support
Hi Rudolphe, thanks for clarifying. By saying “the difference is around 10ms” - what exactly do you mean? Do you mean the overall GSML2 latency is about consistently 10ms (for example in a ZED X mini - ZED Box Mini -GSML 2 usecase?) Or do I mix something up? Thanks, Erik
Hi Erik,
What I meant is that the overall latency difference between a full GMSL2 pipeline and a USB 3.0 pipeline is roughly around 10 ms. GMSL2 should indeed be a bit lower in latency compared to USB 3.0, but its main advantage is to be much more stable compared to USB 3.0.
Rodolphe
Stereolabs Support
1 Like
Sounds good to me and I now understand what you mean.
Just to clarify my usecase: I want to use the Positional Tracking Module in combination with GSML2 with ZED X Mini and ZED Box Mini. How can I get the smallest delay between system timestamp and real-world position capture time in combination with the most precise position/orientation estimate. What “best practice” in the camera settings should I choose (FPS/resolution setting)? Do you have any recommendation for me? I hope this still fits into the topic. Thanks, Erik
For your use case, we recommend maximizing the camera frame rate while using Positional Tracking in GEN3 mode. In practice, this means:
- HD1200 at 60 FPS for a good balance of resolution and latency, or
- SVGA at 120 FPS if minimizing delay is the top priority.
There shouldn’t be a difference between both choices in terms of position/orientation accuracy.
Stereolabs Support
Hi together, regarding this topic I would have a follow-up question on ZED X Mini / GSML Latency. Do you see any difference in running your positional tracking module directly in the C++ compiled version or in the Python runned version? Does this make any difference (in timestamp & 6 DOF position/orientation acquisition)? As far as I understand, the python just accesses the C++ compiled files if explained in simple words, but maybe you could clarify! Thanks, Erik
Hi @Wikingererik2001,
That is correct – the Python wrapper calls the C++ ZED SDK’s methods using Cython bindings.
In our benchmarks, we’ve made sure to test and validate the performance of the Python wrapper as well, so there should be no difference in performance between the two. In terms of acquisition and retrieval of data, this is the same than the C++ API.