12-05-2018 03:25 PM
@SeanJ wrote:
Hi Mark,
I have been looking into subpanels for a similar purpose but never thought of it for this, great idea!
As deadlines will have it, I will have to live with what I've done for a while, it works fine when running.
However, it'd be great if someone could explain why LabVIEW would struggle to manage a 2MB VI, especially given LabVIEW is using over 200MB of memory just with small VIs in memory now. For comparison, Chrome is currently using 1.5GB of memory because I have so many windows open. Is it really a struggle for LabVIEW to work with a 2MB VI?
I mentioned that, but it may or may not be the root of the problem. Someone with a better understanding of the LabVIEW compiler can correct me, but I would guess trying to recompile that entire VI every time you move a wire would be a possible cause of the slowdown. I also mentioned circular dependencies - does your application have them?
I am curious about why the VI is so large - I am working on an application with ~3500 VIs, and the top level monstrosity which statically calls 95% of the code in the application is only ~750KB..
12-05-2018 05:48 PM - edited 12-05-2018 05:50 PM
@SeanJ wrote:
I'm queringy all the tables in a database to return a screen to the user that shows the full details of an item.
In the VI, once I delete a wire, it takes about three seconds for it to actually delete. There's a fair bit of data in the database cluster and the VI takes up about 2MB.
I've used a simple state machine with 16 states, 14 of which are as shown below with different tables being queried and some with four with query arrays.
![]()
The orange section is a subVI. So really all there is in the VI are the Display controls and the output cluster.
I am using a machine with i7 6700HQ @2.6GHz, 8GB DDR3 & 4GB GTX 950M. I would have thought it could handle a VI of 2MB and in fact LabVIEW is only taking up about 15% of the CPU with the majority of it idle. There is lots of spare memory. I should have a new PC next week with a GTX 6GB 1060, i7 & 16GB of DDR4 but am concerned that maybe the issue s due to a LabVIEW resource setting rather than the PC itself.
Does anyone know why this particular VI would cause such an issue with editing and can I direct LabVIEW to use more processor / memory??
While I am spitballing- Run VIA on that vi. What is the Cyclomatic Complexity? It does look a bit high.... Try lowering the Optimization setting to "Rarely apply full optomizations" (You can boost it back up before you build with a prebuild step to mass compile)