Frame rate drops when saving jpg files in Deepstream 6.2 SDK

Can you show us the complete pipeline for your app?

Sorry, could you tell me how to dump the complete pipeline?

Please follow the link DeepStream SDK FAQ - Intelligent Video Analytics / DeepStream SDK - NVIDIA Developer Forums

Thank you for your assistance, and here is my complete pipeline.

You are still using GstJpegDec, why not use the accelerated jpeg decoder such as nvjpegdec or nvv4l2decoder?

There is a bus error problem when using nvjpegdec, similar to the link below.

Please always use the hardware accelerated plugin if possible. Have you tested the result when “nvv4l2decoder mjpeg=1” is used?

Is there performance drop without saving objects as jpeg files?

Is there FPS drop on these platforms?

Where and how did you implement objects saving function? Do you use pad probe after some element to save objects as jpg files just as in the deepstream-image-meta-test sample? Have you observed the same drop with other platforms and DeepStream versions?

If the jpeg file is not saved, performance can be maintained.

The performance can be maintained very well on ds6.0/Xavier AGX and DS6.1.1/Orin AGX.

Have you tried DS6.1.1/Orin NX?

Previously, this app was tested on DS6.1.1/Orin AGX using flash to simulate Orin NX, and its performance was without issue.

To simulate Orin AGX as Orin NX, I followed the methods described on this " Emulation Flash Configurations — Jetson Linux
Developer Guide 34.1 documentation (nvidia.com)
" for simulation.

However, the nvds_obj_enc_process() function differs between DS6.1.1 and DS6.2, and DS6.2 requires additional parameters to use it.

Can you provide your app for us to test the case?

I’m sorry that this cannot be done, but what I can tell you is that the app we used was developed based on the deepstream-app sample from DS6.0, and made modifications to the nvds_obj_enc_create_context(int gpu_id) on DS6.2 before useing it.

And I’m using the the nvds_obj_enc_process() API for saving images in the gie_primary_processing_done_buf_prob() function of the deepstream_app.c file.

Do you save the whole frame or just some objects as jpg files? How offten will the saving happens? Every frame?

I am saving the entire frame and storing it once every 120 frames.

Can you provide the model you are using?

Do you mean trt file?
Is it related to jpegencode issue?

We want to simulate the same loading as your case.

This is our model file sample.engine (12.1 MB).

Our model file is an FP16 model that can predict two classes.