Hello, I would like to know what is the lowest latency that can be achieved on a Jetson Nano to display an image. Suppose a 1920 x 1080 image is available, how fast can it be seen on an HDMI connected screen? Does it make sense to use a 120 Hz or 144 Hz or even 240 Hz screen? Would the Jetson Nano support this and is there a difference between the 2 GB and the 4 GB version or is DisplayPort the way to go?
What are the steps to display an image with the lowest latency? Which API should be used?
Lots of questions. I really appreciate any kind of input!
We don’t have existing data for this and you may try to profile glass-to-glass latency like this topic:
CSI latency is over 80 milliseconds...?
In the discussion we can see certain latency from camera source, and can observe deviation between gstreamer and jetson_multimedia. If you have Jetson Nano and Raspberry Pi camera v2, may follow the topic and give it a try.
I have seen that in the gaming community, low-latency displaying is a big thing.
However, I was wondering, if on the Nano it is possible to prepare an image in one buffer and to bring it on screen very fast while the next image is prepared in another buffer and so on.
I understand that the screen has a latency in receiving the image via HDMI and showing it finally. But with HDMI 2.0 a 1920 x 1080 image should be received within about 4 ms and on a fast screen it should be visible right after that.
So my main question is: can the Nano support such fast processes and is it possible to avoid a long pipeline where the image sent to the screen is maybe 4 or 5 images behind from what is currently being rendered. I actually hope to get things shown on screen at maybe less than 20 ms after the image is prepared. It could be an option to prepare just on time (VSYNC).
In default release, it is double buffering and connect to TV through HDMI. The TV mode is 1080p60. This set up is stable and if you can update frame buffer with 16ms, it shall be rendered out in time. Generally on Jetson Nano, the constraint is CPU/GPU capability and frame buffer may not be updated in time when there is heavy loading.