YOLOv4: Performance is lower when nvinfer interval is 2 and NOT including postprocessing elements

• Hardware Platform (Jetson / GPU) GPU, GTX1060 6GB
• DeepStream Version 6.0GA Docker image
Run with docker run --rm -it --gpus=all nvcr.io/nvidia/deepstream:6.0-samples
• TensorRT Version 8.0.1
• NVIDIA GPU Driver Version (valid for GPU only) 470.82.00
• Issue Type( questions, new requirements, bugs) Question

I am new to gstreamer and Deepstream SDK and I am testing and benchmarking YOLOv4 object detection pipeline with gst-launch-1.0 CLI.
Model is converted from darknet weights, and config/plugin is from NVIDIA-AI-IOT/deepstream_yolov4 repo, with input resolution modified to 608x608.

config_infer_primary_yoloV4.txt
[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
#0=RGB, 1=BGR
model-color-format=0
model-engine-file=yolov4_608_int8.engine
labelfile-path=labels.txt
batch-size=1
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=1
num-detected-classes=80
gie-unique-id=1
network-type=0
## 0=Group Rectangles, 1=DBSCAN, 2=NMS, 3= DBSCAN+NMS Hybrid, 4 = None(No clustering)
cluster-mode=2
maintain-aspect-ratio=1
parse-bbox-func-name=NvDsInferParseCustomYoloV4
custom-lib-path=libnvdsinfer_custom_impl_Yolo.so
#scaling-filter=0
#scaling-compute-hw=0

[class-attrs-all]
nms-iou-threshold=0.6
pre-cluster-threshold=0.4

With nvinfer interval=2, I am getting huge FPS difference with and without postprocessing elements (nvvideoconvert color format conversion, nvdsosd, nvstreamdemux, etc.).

  1. ~137fps and ~77% GPU utilization WITHOUT postprocessing
gst-launch-1.0 -v \
    filesrc location=town_centre.mp4 ! qtdemux ! h264parse ! nvv4l2decoder num-extra-surfaces=24 ! m.sink_0 \
    nvstreammux name=m batch-size=1 width=1920 height=1080 \
    ! nvinfer config-file-path=config_infer_primary_yoloV4.txt interval=2 \
    ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false
gst-launch-1.0 output
Setting pipeline to PAUSED ...
0:00:01.393030189 e[333m   68e[00m 0x562ff9fe6f90 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<nvinfer0>e[00m NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1900> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-6.0/yolov4/yolov4_608_int8.engine
0:00:01.393091143 e[333m   68e[00m 0x562ff9fe6f90 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<nvinfer0>e[00m NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2004> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-6.0/yolov4/yolov4_608_int8.engine
0:00:01.398536748 e[333m   68e[00m 0x562ff9fe6f90 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<nvinfer0>e[00m [UID 1]: Load new model:/opt/nvidia/deepstream/deepstream-6.0/yolov4/config_infer_primary_yoloV4.txt sucessfully
INFO: ../nvdsinfer/nvdsinfer_model_builder.cpp:610 [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input           3x608x608       
1   OUTPUT kFLOAT boxes           22743x1x4       
2   OUTPUT kFLOAT confs           22743x80        

Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acd940780227e5c044000003000400000300c83c60c65801000468ebef2c, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstNvStreamMux:m.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvInfer:nvinfer0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvInfer:nvinfer0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvStreamMux:m.GstNvStreamPad:sink_0: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 67, dropped: 0, current: 131.19, average: 131.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 136, dropped: 0, current: 137.53, average: 134.33
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 205, dropped: 0, current: 137.02, average: 135.23
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 274, dropped: 0, current: 137.15, average: 135.71
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 343, dropped: 0, current: 137.26, average: 136.02
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 412, dropped: 0, current: 136.73, average: 136.13
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 481, dropped: 0, current: 137.71, average: 136.36
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 553, dropped: 0, current: 138.54, average: 136.64
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 622, dropped: 0, current: 136.86, average: 136.66
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 691, dropped: 0, current: 136.92, average: 136.69
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 760, dropped: 0, current: 135.05, average: 136.54
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 829, dropped: 0, current: 137.46, average: 136.61
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 898, dropped: 0, current: 137.42, average: 136.68
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 970, dropped: 0, current: 138.65, average: 136.82
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1042, dropped: 0, current: 138.38, average: 136.93
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1111, dropped: 0, current: 137.24, average: 136.95
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1180, dropped: 0, current: 137.19, average: 136.96
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1249, dropped: 0, current: 137.55, average: 136.99
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1318, dropped: 0, current: 136.77, average: 136.98
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1387, dropped: 0, current: 136.01, average: 136.93
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1456, dropped: 0, current: 135.39, average: 136.86
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1525, dropped: 0, current: 136.47, average: 136.84
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1597, dropped: 0, current: 138.82, average: 136.93
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1666, dropped: 0, current: 136.80, average: 136.92
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1735, dropped: 0, current: 135.00, average: 136.85
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1807, dropped: 0, current: 138.13, average: 136.90
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1876, dropped: 0, current: 137.02, average: 136.90
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1945, dropped: 0, current: 136.95, average: 136.90
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2014, dropped: 0, current: 136.48, average: 136.89
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2083, dropped: 0, current: 137.48, average: 136.91
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2152, dropped: 0, current: 137.10, average: 136.91
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2224, dropped: 0, current: 138.96, average: 136.98
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2296, dropped: 0, current: 138.32, average: 137.02
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2368, dropped: 0, current: 142.72, average: 137.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2437, dropped: 0, current: 136.30, average: 137.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2506, dropped: 0, current: 137.90, average: 137.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2578, dropped: 0, current: 138.19, average: 137.21
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2650, dropped: 0, current: 138.42, average: 137.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2719, dropped: 0, current: 137.46, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2788, dropped: 0, current: 136.77, average: 137.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2860, dropped: 0, current: 138.24, average: 137.26
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2932, dropped: 0, current: 138.33, average: 137.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3001, dropped: 0, current: 137.81, average: 137.30
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3070, dropped: 0, current: 137.43, average: 137.30
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3139, dropped: 0, current: 135.86, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3208, dropped: 0, current: 136.20, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3277, dropped: 0, current: 137.26, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3346, dropped: 0, current: 135.20, average: 137.20
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3415, dropped: 0, current: 137.55, average: 137.21
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3484, dropped: 0, current: 137.38, average: 137.21
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3553, dropped: 0, current: 136.12, average: 137.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3622, dropped: 0, current: 136.04, average: 137.17
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3694, dropped: 0, current: 138.85, average: 137.20
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3763, dropped: 0, current: 137.98, average: 137.22
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3832, dropped: 0, current: 138.00, average: 137.23
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3902, dropped: 0, current: 139.99, average: 137.28
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3973, dropped: 0, current: 137.15, average: 137.28
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4042, dropped: 0, current: 136.68, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4111, dropped: 0, current: 137.55, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4180, dropped: 0, current: 137.97, average: 137.28
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4252, dropped: 0, current: 138.62, average: 137.31
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4321, dropped: 0, current: 137.49, average: 137.31
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4390, dropped: 0, current: 136.37, average: 137.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4462, dropped: 0, current: 138.37, average: 137.31
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4534, dropped: 0, current: 137.91, average: 137.32
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4606, dropped: 0, current: 138.48, average: 137.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4675, dropped: 0, current: 137.62, average: 137.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4744, dropped: 0, current: 137.51, average: 137.35
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4813, dropped: 0, current: 137.15, average: 137.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4882, dropped: 0, current: 137.76, average: 137.35
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4954, dropped: 0, current: 139.47, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5023, dropped: 0, current: 136.89, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5092, dropped: 0, current: 137.98, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5164, dropped: 0, current: 138.22, average: 137.39
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5233, dropped: 0, current: 136.55, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5302, dropped: 0, current: 136.82, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5371, dropped: 0, current: 137.95, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5440, dropped: 0, current: 136.97, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5509, dropped: 0, current: 136.85, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5578, dropped: 0, current: 137.35, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5650, dropped: 0, current: 138.04, average: 137.38
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5719, dropped: 0, current: 137.05, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5788, dropped: 0, current: 136.80, average: 137.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5857, dropped: 0, current: 136.91, average: 137.36
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5926, dropped: 0, current: 136.22, average: 137.35
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5998, dropped: 0, current: 138.11, average: 137.36
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6067, dropped: 0, current: 136.81, average: 137.35
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6136, dropped: 0, current: 133.94, average: 137.31
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6205, dropped: 0, current: 136.42, average: 137.30
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6274, dropped: 0, current: 136.34, average: 137.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6343, dropped: 0, current: 136.88, average: 137.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6412, dropped: 0, current: 137.33, average: 137.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6481, dropped: 0, current: 134.85, average: 137.26
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6550, dropped: 0, current: 136.19, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6619, dropped: 0, current: 136.96, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6688, dropped: 0, current: 137.71, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6760, dropped: 0, current: 139.05, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6829, dropped: 0, current: 137.20, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6898, dropped: 0, current: 137.37, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6967, dropped: 0, current: 136.90, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7036, dropped: 0, current: 137.30, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7105, dropped: 0, current: 135.55, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7174, dropped: 0, current: 136.51, average: 137.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7243, dropped: 0, current: 137.21, average: 137.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7313, dropped: 0, current: 139.99, average: 137.27
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7381, dropped: 0, current: 134.97, average: 137.25
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7450, dropped: 0, current: 137.12, average: 137.25
Got EOS from element "pipeline0".
Execution ended after 0:00:54.658964113
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
nvidia-smi dmon output
# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0    96    53     -    78    23     0    19  3802  1961
    0   111    54     -    78    23     0    21  3802  1961
    0    92    54     -    77    22     0    19  3802  1961
    0   111    54     -    77    22     0    18  3802  1961
    0    91    54     -    75    22     0    18  3802  1961
    0   112    54     -    76    23     0    21  3802  1961
    0   105    54     -    78    23     0    20  3802  1961
    0   107    54     -    77    22     0    19  3802  1961
    0    91    54     -    75    23     0    21  3802  1961
    0    96    54     -    75    22     0    19  3802  1961
    0   105    55     -    75    22     0    18  3802  1961
    0   114    55     -    77    23     0    20  3802  1961
    0    88    55     -    77    23     0    20  3802  1961
    0   111    55     -    79    23     0    20  3802  1961
    0   113    55     -    77    23     0    20  3802  1961
  1. ~185fps and 100% GPU utilization with nvvideoconvert color format conversion.
gst-launch-1.0 -v \
    filesrc location=town_centre.mp4 ! qtdemux ! h264parse ! nvv4l2decoder num-extra-surfaces=24 ! m.sink_0 \
    nvstreammux name=m batch-size=1 width=1920 height=1080 \
    ! nvinfer config-file-path=config_infer_primary_yoloV4.txt interval=2 \
    ! nvvideoconvert ! "video/x-raw(memory:NVMM), format=(string)RGBA" \
    ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false
gst-launch-1.0 output
Setting pipeline to PAUSED ...
0:00:01.400656552 e[336m  113e[00m 0x55db0a81c180 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<nvinfer0>e[00m NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1900> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-6.0/yolov4/yolov4_608_int8.engine
0:00:01.400716415 e[336m  113e[00m 0x55db0a81c180 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<nvinfer0>e[00m NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2004> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-6.0/yolov4/yolov4_608_int8.engine
0:00:01.406057378 e[336m  113e[00m 0x55db0a81c180 e[36mINFO   e[00m e[00m             nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<nvinfer0>e[00m [UID 1]: Load new model:/opt/nvidia/deepstream/deepstream-6.0/yolov4/config_infer_primary_yoloV4.txt sucessfully
INFO: ../nvdsinfer/nvdsinfer_model_builder.cpp:610 [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input           3x608x608       
1   OUTPUT kFLOAT boxes           22743x1x4       
2   OUTPUT kFLOAT confs           22743x80        

Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acd940780227e5c044000003000400000300c83c60c65801000468ebef2c, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstNvStreamMux:m.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvInfer:nvinfer0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/Gstnvvideoconvert:nvvideoconvert0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1, format=(string)RGBA, block-linear=(boolean)false
/GstPipeline:pipeline0/Gstnvvideoconvert:nvvideoconvert0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvInfer:nvinfer0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, framerate=(fraction)25/1, batch-size=(int)1, num-surfaces-per-frame=(int)1
/GstPipeline:pipeline0/GstNvStreamMux:m.GstNvStreamPad:sink_0: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 85, dropped: 0, current: 168.83, average: 168.83
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 179, dropped: 0, current: 187.98, average: 178.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 274, dropped: 0, current: 183.95, average: 180.26
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 367, dropped: 0, current: 184.72, average: 181.37
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 460, dropped: 0, current: 185.74, average: 182.24
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 555, dropped: 0, current: 189.95, average: 183.51
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 646, dropped: 0, current: 181.02, average: 183.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 739, dropped: 0, current: 185.68, average: 183.47
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 835, dropped: 0, current: 185.79, average: 183.74
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 928, dropped: 0, current: 185.76, average: 183.94
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1021, dropped: 0, current: 184.83, average: 184.02
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1114, dropped: 0, current: 185.60, average: 184.15
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1210, dropped: 0, current: 185.77, average: 184.28
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1304, dropped: 0, current: 187.93, average: 184.54
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1396, dropped: 0, current: 183.18, average: 184.45
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1491, dropped: 0, current: 189.82, average: 184.78
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1582, dropped: 0, current: 181.33, average: 184.58
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1677, dropped: 0, current: 189.98, average: 184.87
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1768, dropped: 0, current: 181.83, average: 184.72
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1861, dropped: 0, current: 184.55, average: 184.71
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1954, dropped: 0, current: 185.91, average: 184.76
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2047, dropped: 0, current: 185.45, average: 184.79
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2140, dropped: 0, current: 185.83, average: 184.84
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2233, dropped: 0, current: 185.22, average: 184.86
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2326, dropped: 0, current: 185.85, average: 184.89
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2419, dropped: 0, current: 185.61, average: 184.92
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2515, dropped: 0, current: 185.52, average: 184.95
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2610, dropped: 0, current: 189.99, average: 185.12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2701, dropped: 0, current: 181.84, average: 185.01
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2794, dropped: 0, current: 185.55, average: 185.03
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2887, dropped: 0, current: 185.83, average: 185.05
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2980, dropped: 0, current: 185.24, average: 185.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3073, dropped: 0, current: 185.82, average: 185.08
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3166, dropped: 0, current: 185.73, average: 185.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3259, dropped: 0, current: 185.78, average: 185.12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3352, dropped: 0, current: 185.42, average: 185.13
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3445, dropped: 0, current: 185.57, average: 185.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3538, dropped: 0, current: 185.40, average: 185.15
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3634, dropped: 0, current: 185.56, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3728, dropped: 0, current: 187.93, average: 185.23
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3823, dropped: 0, current: 183.73, average: 185.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3913, dropped: 0, current: 178.80, average: 185.04
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4006, dropped: 0, current: 185.63, average: 185.05
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4099, dropped: 0, current: 185.38, average: 185.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4192, dropped: 0, current: 185.07, average: 185.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4285, dropped: 0, current: 184.99, average: 185.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4378, dropped: 0, current: 185.31, average: 185.06
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4471, dropped: 0, current: 185.72, average: 185.08
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4564, dropped: 0, current: 185.89, average: 185.09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4657, dropped: 0, current: 185.02, average: 185.09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4750, dropped: 0, current: 185.11, average: 185.09
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4843, dropped: 0, current: 185.40, average: 185.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4939, dropped: 0, current: 185.30, average: 185.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5032, dropped: 0, current: 185.67, average: 185.11
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5125, dropped: 0, current: 185.54, average: 185.12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5218, dropped: 0, current: 185.10, average: 185.12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5311, dropped: 0, current: 185.27, average: 185.12
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5404, dropped: 0, current: 185.92, average: 185.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5497, dropped: 0, current: 184.98, average: 185.13
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5593, dropped: 0, current: 185.67, average: 185.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5686, dropped: 0, current: 185.93, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5779, dropped: 0, current: 184.24, average: 185.14
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5872, dropped: 0, current: 185.73, average: 185.15
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5965, dropped: 0, current: 185.51, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6058, dropped: 0, current: 185.15, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6151, dropped: 0, current: 185.66, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6244, dropped: 0, current: 185.61, average: 185.17
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6337, dropped: 0, current: 184.59, average: 185.16
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6430, dropped: 0, current: 185.99, average: 185.17
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6523, dropped: 0, current: 185.69, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6616, dropped: 0, current: 184.94, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6709, dropped: 0, current: 185.28, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6802, dropped: 0, current: 185.24, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6895, dropped: 0, current: 184.91, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6988, dropped: 0, current: 185.43, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7081, dropped: 0, current: 185.27, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7174, dropped: 0, current: 185.29, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7267, dropped: 0, current: 185.39, average: 185.18
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7360, dropped: 0, current: 185.47, average: 185.19
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7453, dropped: 0, current: 185.02, average: 185.19
Got EOS from element "pipeline0".
Execution ended after 0:00:40.503670261
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
nvidia-smi dmon output
# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0   120    50     -   100    32     0    26  3802  1961
    0   116    51     -   100    32     0    27  3802  1961
    0   119    52     -   100    32     0    29  3802  1961
    0   121    53     -   100    32     0    27  3802  1961
    0   123    53     -   100    32     0    26  3802  1961
    0   120    53     -   100    32     0    27  3802  1961
    0   123    54     -   100    32     0    26  3802  1961
    0   120    54     -   100    32     0    27  3802  1961
    0   122    55     -   100    32     0    28  3802  1961
    0   121    55     -   100    32     0    28  3802  1961
    0   124    55     -   100    31     0    26  3802  1961
    0   121    55     -   100    32     0    25  3802  1961
    0   122    56     -   100    32     0    26  3802  1961
  1. ~705fps video decode only (To prove that video decoding is not the peformance bottleneck)
gst-launch-1.0 -v \
    filesrc location=town_centre.mp4 ! qtdemux ! h264parse ! nvv4l2decoder num-extra-surfaces=24 \
    ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false
gst-launch-1.0 output
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4, profile=(string)high, codec_data=(buffer)01640028ffe1001b67640028acd940780227e5c044000003000400000300c83c60c65801000468ebef2c, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)high, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
/GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0.GstPad:src: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0.GstGhostPad:sink: caps = video/x-raw(memory:NVMM), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709, framerate=(fraction)25/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstFakeSink:fakesink0: sync = false
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 314, dropped: 0, current: 623.86, average: 623.86
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 670, dropped: 0, current: 710.53, average: 667.10
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1025, dropped: 0, current: 707.75, average: 680.64
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1382, dropped: 0, current: 712.29, average: 688.54
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 1739, dropped: 0, current: 713.70, average: 693.56
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2093, dropped: 0, current: 707.80, average: 695.93
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2448, dropped: 0, current: 707.41, average: 697.57
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 2802, dropped: 0, current: 707.40, average: 698.80
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3157, dropped: 0, current: 708.02, average: 699.82
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3510, dropped: 0, current: 705.61, average: 700.40
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 3876, dropped: 0, current: 731.88, average: 703.26
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4233, dropped: 0, current: 708.76, average: 703.72
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4594, dropped: 0, current: 720.99, average: 705.05
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 4949, dropped: 0, current: 708.40, average: 705.29
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5304, dropped: 0, current: 709.76, average: 705.58
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 5661, dropped: 0, current: 710.33, average: 705.88
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6018, dropped: 0, current: 713.71, average: 706.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6373, dropped: 0, current: 709.73, average: 706.53
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 6725, dropped: 0, current: 702.88, average: 706.34
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7081, dropped: 0, current: 711.60, average: 706.60
/GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0: last-message = rendered: 7437, dropped: 0, current: 709.92, average: 706.76
Got EOS from element "pipeline0".
Execution ended after 0:00:10.608135513
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
nvidia-smi dmon output
# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0    37    34     -     5    11     0   100  3802  1721
    0    43    36     -     6    13     0   100  3802  1961
    0    44    37     -     7    13     0   100  3802  1961
    0    44    38     -     7    13     0   100  3802  1961
    0    43    38     -     7    13     0   100  3802  1961
    0    44    38     -     7    13     0   100  3802  1961
    0    44    38     -     7    13     0   100  3802  1961
    0    44    38     -     6    13     0   100  3802  1961
    0    43    39     -     7    13     0   100  3802  1961
    0    44    39     -     6    13     0   100  3802  1961
    0    44    39     -     7    13     0   100  3802  1961
  1. Other benchmark results (that might be useful)
  • nvinfer interval=0, without postprocessing: 61.7fps, 98% GPU utilization
  • nvinfer interval=0, with postprocessing: 61.2fps, 98% GPU utilization
  • nvinfer interval=1, without postprocessing: 125.7fps, 100% GPU utilization
  • nvinfer interval=1, with postprocessing: 124.6fps, 100% GPU utilization
  • nvinfer interval=3, without postprocessing: 183fps, 77% GPU utilization
  • nvinfer interval=3, with postprocessing: 181.6fps, 77% GPU utilization
  • nvinfer interval=4, without postprocessing: 228fps, 77% GPU utilization
  • nvinfer interval=4, with postprocessing: 224.3fps, 77% GPU utilization

Can anyone explain why performance is better with postprocessing, when nvinfer interval is 2?

I can reproduce this, will check and get back to you

Thanks!

If you change “video/x-raw(memory:NVMM)” to “video/x-raw”, the fps will drop to be the same as that with command without post-processing.

So, I think, the reason, if you specific the output of “video/x-raw(memory:NVMM)”, the output to fakesink is “video/x-raw(memory:NVMM)” format, which is CUDA buffer on dGPU, and the CUDA memory will be discarded directly. If you don’t specify “(memory:NVMM)” or add post-processing, the output will be “video/x-raw” which is CPU buffer, it means the data have to be transferred from GPU to CPU memory and then discarded, in this case, the fps drops due to the memory transfering to CPU memory. You can confirm this by command “$ nvidia-smi dmon -s ucmtp -i 0”


// without (memory:NVMM), lots of rxpci & txpci
$ nvidia-smi dmon -s ucmtp -i 0
# gpu    sm   mem   enc   dec  mclk  pclk    fb  bar1 **rxpci txpci**   pwr gtemp mtemp
# Idx     %     %     %     %   MHz   MHz    MB    MB  MB/s  MB/s     W     C     C
    0    16     0     0     0  1215   930  4805     6    50    11    27    21    22
    0     7     0     0     0  1215   930  5165     6   715    40    27    21    22
    0     6     0     0     0  1215   930  6240     6   106  2309    37    22    23
    0    88     4     0     6  1215  1440  6240     6    80  3140    64    23    23
    0    87     4     0     6  1215  1440  6240     6    61  3138    64    23    23
    0    89     5     0     6  1215  1440  6240     6   100  3182    68    23    24
    0    88     5     0     6  1215  1440  6240     6    91  3447    62    24    24
    0    41     3     0     2  1215  1440  5165     6     0     0    42    23    24
    0     3     0     0     0  1215  1440  4405     6     0     2    42    22    24
// with  (memory:NVMM), less rxpci and txpci
$ nvidia-smi dmon -s ucmtp -i 0
# gpu    sm   mem   enc   dec  mclk  pclk    fb  bar1 **rxpci txpci**   pwr gtemp mtemp
# Idx     %     %     %     %   MHz   MHz    MB    MB  MB/s  MB/s     W     C     C
    0     0     0     0     0  1215   930  4192     4     0     0    27    21    22
    0     8     0     0     0  1215   930  5075     6   402    41    27    21    22
    0     6     0     0     0  1215   930  6290     6    76   348    28    21    22
    0    96     9     0    13  1215  1440  6322     6   233   834    81    24    24
    0    93     8     0    12  1215  1440  6322     6   316   832    85    25    24

Thanks @mchi , I checked the memory transfer rates :

  • no nvvideoconvert, 137fps
# gpu    sm   mem   enc   dec  mclk  pclk    fb  bar1 rxpci txpci   pwr gtemp mtemp
# Idx     %     %     %     %   MHz   MHz    MB    MB  MB/s  MB/s     W     C     C
    0    76    23     0    22  3802  1961   675     5    87   304   104    37     -
    0    77    22     0    19  3802  1961   675     5   133   437   101    40     -
    0    75    21     0    18  3802  1961   675     5   131   431   103    41     -
    0    76    23     0    20  3802  1961   675     5    98   437   101    41     -
    0    76    23     0    21  3802  1961   675     5   132   438    93    42     -
    0    75    23     0    20  3802  1961   675     5    42   437    92    43     -
    0    75    22     0    18  3802  1961   675     5   155   440    87    43     -
    0    76    23     0    20  3802  1961   675     5   106   436    89    44     -
  • video/x-raw, 185fps
# gpu    sm   mem   enc   dec  mclk  pclk    fb  bar1 rxpci txpci   pwr gtemp mtemp
# Idx     %     %     %     %   MHz   MHz    MB    MB  MB/s  MB/s     W     C     C
    0   100    32     0    27  3802  1961   679     5   342  1325   116    48     -
    0   100    32     0    25  3802  1961   679     5   351  1278   117    49     -
    0   100    32     0    25  3802  1961   679     5   241   974   117    49     -
    0   100    32     0    25  3802  1961   679     5   274  1393   118    50     -
    0   100    32     0    25  3802  1961   679     5   234  1385   117    50     -
    0   100    32     0    26  3802  1961   679     5   331  1369   117    51     -
    0   100    32     0    26  3802  1961   679     5   259  1391   117    51     -
    0   100    32     0    25  3802  1961   679     5   247  1395   117    51     -
    0   100    32     0    27  3802  1961   679     5   283  1467   121    52     -

So video/x-raw has more GPU to CPU memory transfer but higher fps (at least on my machine).

And when there is no postprocessing, gst-launch-1.0 verbose output and the pipeline graph shows output format to fakesink is video/x-raw(memory:NVMM), format=(string)NV12.

After profiling with Nsight Systems, I found that the issue was due to nvv4l2decoder blocking on gst_v4l2_buffer_pool_acquire_buffer, waiting for available GstBuffers to return from the buffer pool.

I have come up with 2 solutions:

  1. According to this post, set enable-last-sample property of fakesink to false.
gst-launch-1.0 -v \
    filesrc location=town_centre.mp4 ! qtdemux ! h264parse ! nvv4l2decoder num-extra-surfaces=24 ! m.sink_0 \
    nvstreammux name=m batch-size=1 width=1920 height=1080 \
    ! nvinfer config-file-path=config_infer_primary_yoloV4.txt interval=2 \
    ! fakesink sync=false enable-last-sample=false

Processed 7500 frames in 40s (~187.5fps).

  1. Increase buffer-pool-size of nvstreammux (default is 4).
gst-launch-1.0 -v \
    filesrc location=town_centre.mp4 ! qtdemux ! h264parse ! nvv4l2decoder num-extra-surfaces=24 ! m.sink_0 \
    nvstreammux name=m batch-size=1 width=1920 height=1080 buffer-pool-size=5 \
    ! nvinfer config-file-path=config_infer_primary_yoloV4.txt interval=2 \
    ! fpsdisplaysink video-sink=fakesink text-overlay=false sync=false

Result is also ~187.5fps.

Hi @413405663 ,
Thanks for update!

Maybe adding “queue” in plugins could help this as well.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.