01-19-2010 12:36 PM
Hello All,
I am using LabVIEW 8.2.1. I would like to update the front panel at the rate of 5 ms. I am attaching example. The example takes more than 60% CPU load of my PC. Please let me know, how can I reduce the CPU load for the update.
Thanks,
01-19-2010 12:57 PM - edited 01-19-2010 12:57 PM
01-19-2010 01:07 PM
Thank you for your response. Even if I make 30 fps, it shows the same CPU load. If the front panel takes that much CPU load then I do not have much process left to do other process.
I need to read AI/DI/AO/DO(32) simultaneously with the rate of 5ms. If I do those then my CPU load will be 100%.
So I need to reduce the FP update CPU load.
IF I do the same in VB, it is taking only 5%. So please let me know any other way to reduce.
Thanks
01-19-2010 01:33 PM
I think your performance problem is related to the overlapping display elements and grouping in the cluster. Try ungrouping the cluster elements, then distribute the elements vertically or horizntally. Your CPU load should drop to ~ 20%. If you only update evert seventh sample, it should drop to ~ 6-8%.
01-19-2010 01:46 PM
Good catch on the grouping and overlapping - I hadn't noticed that, and I don't quite understand the need for it.
To OP: For instance, why do you place a transparent string indicator with green text over a black colorbox? Why not just color the string indicator such that the background is black? You'll get the same result.
01-19-2010 01:53 PM
smercurio_fc wrote:
Replacing the property node with a local variable improves it slightly (and that's an optimistic statement).
Why a local variable? Place the terminal inside the loop where the property node currently is. 🙂
Yes, the CPU use is high, independent of the loop rate. Even at 500ms, the CPU is quite high.
I fixed the overlapping objects problem in the cluster, but CPU use is still high. (overlapping objects are significanlty more expensive to redraw.
01-19-2010 02:04 PM
altenbach wrote:
smercurio_fc wrote:
Replacing the property node with a local variable improves it slightly (and that's an optimistic statement).Why a local variable? Place the terminal inside the loop where the property node currently is. 🙂
Yes, obviously. Just pointing out that a local variable would not have the switch to the UI thread that the property node would have. You know, to concur with much we LOVE local variables on this forum.
01-19-2010 02:05 PM
I also did check with out overlapping indicator, but still its the same load.
I need the over lapping indicator, because some times I need to change the color of one perticuler array element in some conditions.
I can not change the color of a string control in array. It changes for all. I hope you got the point, why I need the overlapping controls.
01-19-2010 02:11 PM
01-19-2010 02:37 PM
It was just an example. In my project, the value can be a number or a string.