Why does deepstream_nvdsanalytics.py add a queue between every component?

Is this a best practice? Some of the other samples only add one queue in or none, but this sample and deepstream_preprocess_test.py appear to add them to excess (7). When is the appropriate time to use a queue?

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson OWIN
• DeepStream Version 6.3
• JetPack Version (valid for Jetson only) 5.1.2-b104

The queue will create a new thread on the source pad to decouple the processing on sink and source pad. queue (gstreamer.freedesktop.org)

Yes… and what are the best practices on when to use them? The samples are completely inconsistent. This sample seems like its the more the better approach added with no regard to reason or need. Why do the others have none or one and this NVidia sample has one on every connection.

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. Thanks

It depends on your purpose, the more queue in the pipeline, the more asynchronized the pipeline is. If some components are fast enough, the queue is not necessary for them.

It is OK to remove some queue from the pipeline when the component is fast enough. It does no harm to keep them too.

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