Latency from capture to display

Hi,

We want to reduce the latency from capture card to display.

If we use GPUDirect to pass the video from capture card to GPU.
And use NvDrmRender to display it directly.

If theory, we should get 1-2 frames latency as below image.
But got 3 frames latency.

Does there are anyway to improve this latency?
Or there are some hidden latency which I missing?

BR,
david

Hi,
The default release has passed SQA coverage, so it should be balanced between stability and performance. There may not have further room to reduce latency. May try the following items and see if it helps:

  1. Run the script:
    VPI - Vision Programming Interface: Performance Benchmark
  2. There is pthread_cond_timedwait() in NvDrmRenderer. May remove the wait for a try.

Hi,

Those two methods don't get much improvement.

The pthread_cond_timedwait() look like waiting next vsync. Before this wait, setPlane() called drmModeSetPlane() which is a blocking DRM API and will blocking caller to next vsync. So pthread_cond_timedwait() actually don’t wait.

BR,
david