12-17-2013 04:14 PM - edited 12-17-2013 04:39 PM
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
12-17-2013 05:19 PM
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?
12-17-2013 06:46 PM - edited 12-17-2013 06:49 PM
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.
12-17-2013 07:30 PM
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.
12-18-2013 01:00 PM
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.
12-18-2013 01:15 PM - edited 12-18-2013 01:18 PM
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!)
12-19-2013 04:01 PM - edited 12-19-2013 04:02 PM
I must make huge adaptation of old crappy application so It's time to start new one.
Thanks for suggestion
12-20-2013 09:58 AM
11-14-2015 05:38 PM - edited 11-14-2015 05:42 PM
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.
11-14-2015 08:29 PM
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.