Nvargus-daemon CPU Load difference between GStreamer (nvarguscamerasrc) and application using LibArgus

We are currently transitioning a multi-camera streaming application from a GStreamer solution (using nvarguscamerasrc) to one that uses LibArgus directly. While using LibArgus directly, we noticed that the CPU load of the nvargus-daemon process has increased by about 6-8% (of a CPU core), even though the input cameras and framerates haven’t changed.

When looking at the threads spun up by the nvargus-daemon, it seems like the majority of the CPU difference can be attributed to some unnamed threads. I am curious if there are certain LibArgus calls or settings that would cause the daemon to spin up additional unnamed threads.

Per thread breakdown of nvargus-daemon when running a Gstreamer Pipeline with nvarguscamerasrc

Per thread breakdown of nvargus-daemon when running an application that queries frames with LibArgus directly

It is evident that the majority of cpu load difference comes from the unnamed threads. When I break down the unnamed threads, I see that in the custom lib argus applications, there is 1 unnamed thread that is using 4-5% (of a CPU core) that I don’t see when running the GSCAM pipeline.

What LibArgus API calls will cause the nvargus-daemon to spin up an unnamed thread that consumes 4-5% (of a CPU core) on a Jetson xavier?

I work with Vivek - if there is any additional debugging flags or settings or logs we could enable to provide more detail, please let us know.

Did you run the sample APP argus_camera for libarugs?

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

Hi Vivek and Andy,

Have you managed to resolve this issue? Any result can be shared?