LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Graph CPU load increases after update from 2010 to 2012

My application work OK on Pentium4 2,8G with LabView 8.2, Dual and quad core with LabView 2010, but on another dual core with ATI HD4350 and LabView 2012 CPU usage for showing Graph and XY Graph (with simple aprox 200 to 1000 points curves) go up 10 times. If Graphs and XY graphs is moving out of visible screen, CPU usage go down. Problem is with all 8 different Graphs, hiding 4 graph decrease CPU to halve.
 
These problem s not present on all version of my application. Adding few control variable for debuging purpose and apps work OK.  I can't found any logics.

Apps work with DAQ card. CPU usage is measured by time needed to show graphs.

 

Aps

0 Kudos
Message 1 of 10
(4,061 Views)

It will be difficult to determine if the increased CPU usage for drawing your graphs on the third machine is down to either the changed hardware (PC) or LV2012. Can you put 2012 on one of the other machines for which you don't see the increased CPU usage? This might help eliminate the GPU versus the LV version.

 

Also, have any properties of the chart changed when you upgraded the code to 2012? Such as enabling anti-aliasing of the plot lines perhaps? Are there any visible differences in the plot appearance that might help identify if anything has changed?

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 2 of 10
(4,043 Views)

In almost totally identical apps with no changing on graphs there is no extra CPU usage. As I remember, these apps suddenly work OK after restarting PC, but other few version of same apps still work 10 times slower (8 graphs updated in 30 instead of 3ms).
I'm afraid, that with so confused starting position there is no sense to lost few days changing things to get no results.
 

0 Kudos
Message 3 of 10
(4,031 Views)

Check your fonts. If you use symbolic fonts (e.g. application font), the os theme defines them. The could become slightly larger, leading to overlapping objects and increasing the redraw penalty.

0 Kudos
Message 4 of 10
(4,021 Views)

Changing fonts don't solve the problem.
Behaviour is realy strange, sometime apps take extra time even graph is hidden, sometimes not. Aditionally, execution time is radicaly changed whatever I change in block diagram. Apps which yesterday work smoothly today crash because of extra CPU time. So it must bi some strange bug.

0 Kudos
Message 5 of 10
(3,967 Views)

Can you post some example code?

 

Did you migrate to silver graphs with that upgrade?

 

Have you run VI analizer? 

 

Did you tweak compiler optomization settings?  (Try maxing it!)


"Should be" isn't "Is" -Jay
0 Kudos
Message 6 of 10
(3,959 Views)

I must make huge adaptation of old crappy application so It's time to start new one.

 

Thanks for suggestion

0 Kudos
Message 7 of 10
(3,914 Views)

What I would also try, is to mass compile the whole application.

 

 

Merry Christmas,

0 Kudos
Message 8 of 10
(3,880 Views)

Today I found, that almost same problem apear in new application.

After a few hour of investigation and hiding code into disabled case structure I found, that only reference to graph is enought to extra CPU load or time waste whic in my app produce corrupted data from USB virtual COM port which have buffer for only 100ms. Reference outside disabled case structure which is wired only into these case structure take CPU and if I hide reference into case structure, there is no CPU extra load. There is no plot on graph.

But finaly after I close Sub VI which grab data from USB (Using Visa Serial), all CPU extra time and delay disapeare and istead of more then 100 main loop with graph is finished in few ms.

0 Kudos
Message 9 of 10
(3,496 Views)

Oldi wrote:

After a few hour of investigation and hiding code into disabled case structure I found, that only reference to graph is enought to extra CPU load or time waste whic in my app produce corrupted data from USB virtual COM port which have buffer for only 100ms. Reference outside disabled case structure which is wired only into these case structure take CPU and if I hide reference into case structure, there is no CPU extra load. There is no plot on graph.

But finaly after I close Sub VI which grab data from USB (Using Visa Serial), all CPU extra time and delay disapeare and istead of more then 100 main loop with graph is finished in few ms.


I don't understand a single word of your description.

Can you show us a simplified code example?

How is the "reference for graph" used?

How do you measure speed/slowdown?

What is your LabVIEW version?

What are the units for the "100" you mentioned?

etc.

0 Kudos
Message 10 of 10
(3,478 Views)