Deepstream-app latency increasing

Hi @DaneLLL and @miguel.taylor,
Thank you for your replies.

My config file as below, I attached my pipeline graph. Now I can get good performance and latency, but I have to drop the decoded frame interleave (keep - drop - keep - drop -…), and the nvinfer interval = 6. Without decoder drops, and nvinfer interval < 6, the slow output & latency increasing is still presented.
You can see in the pipeline, I added a leaky queue in front of nvinfer, and added videorate infront of h264enc.

With leaky queue in front of nvinfer and no decoded frame dropping, the slow output & high latency are still there. So it looks like the leaky queue doesn’t matter?

This is my config file:

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
#gie-kitti-output-dir=streamscl

[tiled-display]
enable=1
rows=1
columns=1
width=1280
height=960
gpu-id=0
#(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
#(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla
#(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla
#(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla
#(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
nvbuf-memory-type=0

[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=2
#uri=file://../../samples/streams/sample_1080p_h264.mp4
uri=rtsp://User:5h1e67665@10.100.30.199:554/video1
num-sources=1
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0
drop-frame-interval=2

[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=Rtsp
type=4
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=0
# Codec 1=H264, 2=H265, 3=MPEG4
codec=1
bitrate=8000000
udp-port=5400
rtsp-port=8554
iframeinterval=30

[osd]
enable=1
gpu-id=0
border-width=2
text-size=0
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=1
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=10000
## Set muxer output width and height
width=1280
height=960
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0

# config-file property is mandatory for any gie section.
# Other properties are optional and if set will override the properties set in
# the infer config file.
[primary-gie]
enable=1
gpu-id=0
#model-engine-file=model_b1_gpu0_fp32.engine
labelfile-path=labels2.txt
batch-size=1
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
interval=6
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary_yoloV3_tiny_2.txt

[tracker]
enable=1
tracker-width=640
tracker-height=384
ll-lib-file=/opt/nvidia/deepstream/deepstream-5.0/lib/libnvds_mot_klt.so

[tests]
file-loop=0