Hello ShaneCCC,
Unfortunately our setup does not have an HDMI port; I have been connecting to the Jetson over SSH when using the xviamgesink
element. The problem with this is that SSH introduces a lot of latency and this affects the measurements that fpsdisplaysink
can get.
Instead of the element you proposed, I used RidgeRun’s open source gst-perf plugin for measuring the framerate. It is a filter element that prints performance metrics to the standard output. I ran several pipelines with it and I collected the following results.
Simple pipeline with no exposure or gain limit
gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=0 ! nvvidconv ! perf ! fakesink sync=false
- Exposure times: under 22 ms.
- Gain values: increased from 1 to 16 after exposure times reached 22 ms.
- Frame rate: 20 fps.
Fixed unitary gain
gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=0 gainrange="1 1" ! nvvidconv ! perf ! fakesink sync=false
- Exposure times: under 22 ms.
- Gain values: fixed to 1.
- Frame rate: 20 fps.
Fixed exposure time under 22 ms
gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=0 exposuretimerange="10000000 10000000" ! nvvidconv ! perf ! fakesink sync=false
- Exposure times: fixed to 10 ms.
- Gain values: immediately increased from 1 to 16.
- Frame rate: 20 fps.
Fixed exposure time over 22 ms
gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=0 exposuretimerange="50000000 50000000" ! nvvidconv ! perf ! fakesink sync=false
- Exposure times: started at 33 ms. Varied from 33 ms to 70 ms depending on light conditions.
- Gain values: varied from 1 to 16 depending on light conditions.
- Frame rate: started at 20 fps but progressively dropped as soon as the exposure time broke the 33 ms barrier. The frame rate reached 10 fps when the exposure time was about 66 ms.
Let me know if there is any other scenario that you would like me to test.
Thanks for your help!