LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

High CPU Use, cDAQ with Axis IP Camera

Hi,

 

I am using an Axis IP camera at 1024x768 resolution on a cDAQ 9132 (Linux with a GUI driven from the cDAQs display port).  The code I use is attached as an example test application.  When running at 20 frames per second, it uses around 80% on each CPU.  Consequently when combined with the rest of my code starts resulting in performance issues.

 

This camera is supposed to give a real time high resolution display so reducing resolution or frame rate is not ideal for this application.

 

Any ideas if it is possible to reduce CPU load?  I only want streaming video display, not doing any image processing.

 

Download All
0 Kudos
Message 1 of 7
(3,293 Views)

Hi Ashes,

 

Just to clarify, only running this portion code you notice 80% CPU usage, or is the 80% observed when included with the other portions of your code? Additionally, what are you doing in the other portions of your code, and how does this correspond with the Image Acquisition?

 

Thanks,

 

Peter George

Applications Engineer

National Instruments

0 Kudos
Message 2 of 7
(3,207 Views)

80% utilisation occurs when just running the test application attached to my original post.  The other code when run without the camera uses around 60% CPU utilisation on one CPU only.  But when combined start getting close to flat out CPU use.  There is no relationship between camera and other code at all.  They run independently.  The camera is just a video display output.

 

Running the camera on the own as per its test program really rings the CPU which is a concern.

 

Thanks

 

Ashley

 

0 Kudos
Message 3 of 7
(3,205 Views)

Hi Ashley,

 

Is there a reason you are using U32 for IMAQ Create? Would it be possible to try and use U8? Additionally, is there a reason you need an image indicator?

 

Thanks,

 

Peter George

Applications Engineer

National Instruments

0 Kudos
Message 4 of 7
(3,188 Views)

This application uses the camera for a video display.  No image processing, just live display so hence the indicator.  I just copied the NI example for the U32 but I do want colour so dont think a U8 would be suitable.

0 Kudos
Message 5 of 7
(3,185 Views)

1) How are you measuring the performance during operation?

2) Additionally, are you measuring the performance while running interactively, or while with just the VI running on the cRIO?

3) Do you need to update the image at 20 FPS?

4) Can you resize the window on your embedded UI so that the image does not have to resize itself?

5) Do you need all the indicators on the front panel?

6) If the answer to the question above is no, try using the IMAQ WindDraw VI (make sure to check the help document to look for LVRT considerations).

 

Thanks,

 

Peter George

Applications Engineer

National Instruments

0 Kudos
Message 6 of 7
(3,164 Views)

1) How are you measuring the performance during operation?

Using MAX and clicking refresh over and over.

2) Additionally, are you measuring the performance while running interactively, or while with just the VI running on the cRIO?

Tried both running out of LabView and running as a startup, both produce similar perfomance results.

3) Do you need to update the image at 20 FPS?

Yes, any slower and it looks wrong.  It allows the operators to watch fast moving parts.

4) Can you resize the window on your embedded UI so that the image does not have to resize itself?

I am not sure what you mean, the size of everything is fixed.  It takes the full screen for the program and approximately one third of that is the video display.

5) Do you need all the indicators on the front panel?

Yup.  They all are important.  We have already minimised as much as possible.

6) If the answer to the question above is no, try using the IMAQ WindDraw VI (make sure to check the help document to look for LVRT considerations).

I will look into it...

 

Thanks for your help.

0 Kudos
Message 7 of 7
(3,161 Views)