4.问题:DeepStream应用程序运行缓慢(只有Jetson)。
解决方案:确保Jetson时钟设置高。运行这些命令将Jetson时钟调高。
$ sudo nvpmodel -m <mode> --for MAX perf and power mode is 0
$ sudo jetson_clocks
5.问题:DeepStream应用程序运行缓慢。
解决方案1:
管道中的一个插件可能运行缓慢。您可以测量管道中的每个插件的延迟,以确定其中一个是否很慢。
●要启用帧延迟测量,请在控制台运行以下命令:
$ export NVDS_ENABLE_LATENCY_MEASUREMENT=1
●要为所有插件启用延迟,请在控制台运行以下命令:
$ export NVDS_ENABLE_COMPONENT_LATENCY_MEASUREMENT=1
解决方案2(只有dGPU):
确保你的GPU卡在PCI插槽中,且保持最大的总线宽度。
解决方案 3:
在配置文件中 [streammux] group, 设置 batched-push-timeout为(1/max_fps).
解决方案4:
在配置文件中[streammux] group, 设置宽度和高度为 stream的分辨率。
解决方案5:
解决方案5:对于RTSP流输入,在配置文件的[streammux]组中,设置live-source=1。还要确保所有[sink#]组的sync属性都设置为0
解决方案6:
如果启用了辅助推理,请尝试在配置文件的[secondary-gie#]组中增加批大小,以防要推理的对象数量大于批大小设置。
解决方案7:
在Jetson上,使用Gst-nvoverlaysink而不是Gst-nveglglessink,因为nveglglessink需要GPU的使用。
解决方案8:
如果GPU性能瓶颈,可以尝试通过修改应用程序配置中的[primary-gie]组的interval属性或Gst-nvinfer配置文件的interval属性来增加主检测器推断输入帧的间隔
解决方案9:
如果管道中的元素因缓冲区而变得缺乏(您可以检查CPU / GPU利用率是否低),请尝试通过设置[source#]组的num-extra-surfaces属性来增加解码器分配的缓冲区数量,这是 在应用程序或Gst nvv4l2decoder元素的num-extra-surfaces属性中。
解决方案10:
如果您在docker / on console中运行应用程序并且它提供低FPS,请在配置文件的[sink0]组中设置qos = 0.问题是由初始加载引起的。 将qos设置为1,作为[sink0]组中属性的默认值,decodebin开始丢帧。