Performance difference between sample app and analytics app

Please provide complete information as applicable to your setup.

• Hardware Platform (NX)
• DeepStream Version 6.0x
• JetPack Version (4.6)
• Issue Type( questions)

I noticed a huge difference in perfomance between the deepstream-app and the NVDSanalytics app
First I tried the NVDSanalytics app with the provided sample video’s (720p mpeg and h264) and noticed with 4 streams the framerate was dropping to 15 fps. It doesn’t skip frames, it just runs at half speed.
Jtop showed no bottlenecks in gpu/cpu/disk/decoder/encoder.

Doing the same experiment with the deepstream-app and the source4_1080p_resnet_dec_infer_tiled_display_int8.txt configfile, I noticed the framerate was 30 fps+ with same jtop stats as the NVDSanalytics app. even the source8 configs rendered better results in performance as the NVDSanalytics app. Both apps use pgie, sgie and tracker. Both apps use the same int8 models.

When running the NVDSanalytics app with 4 RTSP streams in 720p/h264 worked flawlessly. What causes the lack of performance in the analytics app and why is the deepstream-app running without problems?

You are comparing two different pipelines with different configurations. Why do you think they should have the same performance?

How did you measure the fps of deepstream-nvdsanalytics-app?

I’m comparing 2 pipelines where most Gstreamer plugins are the same, both are using a PGIE, SGIE(s) and a tracker. Both pipelines are using the same models. Even though the pipelines are different, I don’t expect one pipeline being more than 2 or 3 times slower. Testing of the NvDsAnalyticsObjInfo app was by checking the frame printed in the terminal divided by the time it took to run the app from start till finish of the video. You can clearly see the app runs the video in slow motion.

Turning on/off sync and/or qos made no difference.

For testing we constructed multiple pipelines where it seems the NvDsAnalytics plugin is causing the lag. Besides testing we’re trying to find some answers here.

Are you running deepstream-nvdsanalytics-app? How did you measure the fps of deepstream-nvdsanalytics-app?

Yes I am running the deepstream-nvdsanalytics-app. Fps is measured by calculating the frames (as seen in the terminal) per duration. For better understanding I’ve uploaded 2 video’s:

This is the Deepstream-app -c with the source4 config file (PGIE, multiple SGIE’s, tracker, int8 model)

This is the deepstream-ndvsanalytics-app running the same int8 model and same video. The strange thing is, there’s no lag/latency when running RTSP streams with the deepstream-nvdsanalytics-app.

Please refer to DeepStream SDK FAQ - Intelligent Video Analytics / DeepStream SDK - NVIDIA Developer Forums

Fiona, I am NOT looking for a method to calculate performance or fps. I’m trying to find out why the nvds-analytics app performance is so different compared to other pipelines.

You can clearly see a very big difference in performance between the Deepstream sample app and nvds-analytics app which is not expected. IMHO the pipelines differ, but show great resemblance when looking at the used plugins and models.

We have built a custom app based on the NvDsAnalytics sample and experiencing unexpected performance issues. So to break down the analysis, we used the NvDsAnalytics sample that shows the same performance issues as our custom app, while the Deepstream sample app isn’t. We’re trying to figure out the cause in the NvDsAnalytics app so we can reproduce and fix this in our own custom app

There is no update from you for a period, assuming this is not an issue anymore.
Hence we are closing this topic. If need further support, please open a new one.

I’ve measured FPS of nvdsanalytics app with the code I provided to you.
The FPS is about 29.61 per stream in my NX board.

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