LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Slow LabView 2016 IDE

Solved!
Go to solution

One easy way to see if the compiler optimization problems mentioned are your problem is to open a new VI.  Do you see the same behavior?  If not, you likely are running into code complexity issues.

0 Kudos
Message 11 of 50
(1,834 Views)

@natasftw wrote:

One easy way to see if the compiler optimization problems mentioned are your problem is to open a new VI.  Do you see the same behavior?  If not, you likely are running into code complexity issues.


You can also try lowering the compiler slider in the Tools > Options menu as another data point.

 

compiler settings.png

Matt J | National Instruments | CLA
0 Kudos
Message 12 of 50
(1,832 Views)

Matt, I pointed that out already but, thanks for the screenshot.  But, lets see the cyclic complexity and inlining stats from VIA first.  I may suggest a secret ini token if the numbers indicate a potential trouble spot.


"Should be" isn't "Is" -Jay
Message 13 of 50
(1,823 Views)

* Yes, MyComputer as target, No RT, No FPGA

* No Web Services

* Yes, one Conditional Symbol !

* Yes, it is "ProjectName.lvproj/My Computer"

 

BTW: Yes, it is german 😉

-------------------------------------------------------------------
Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 14 of 50
(1,810 Views)

Nothing helped until now.

Here is my LabView.ini

tried with secret ini token (thanks, Jeff), but it also didn'help

 

still needs minutes to (e.g.)

* connect/disconnect wires to Class Methods

* copy/paste/delete simple sub-vis on block diagram

from my main "SUB Prüfung Sensor.vi"

 

I have also started a service request and hope, the guys will help me too...

-------------------------------------------------------------------
Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 15 of 50
(1,773 Views)

@EWiebe wrote:

Nothing helped until now.

Here is my LabView.ini

tried with secret ini token (thanks, Jeff), but it also didn'help

 

still needs minutes to (e.g.)

* connect/disconnect wires to Class Methods

* copy/paste/delete simple sub-vis on block diagram

from my main "SUB Prüfung Sensor.vi"

 

I have also started a service request and hope, the guys will help me too...


If you share the Service Request number... we can get the code looked at by the heavy hitters.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 16 of 50
(1,771 Views)

@EWiebe wrote:

* Yes, MyComputer as target, No RT, No FPGA

* No Web Services

* Yes, one Conditional Symbol !

* Yes, it is "ProjectName.lvproj/My Computer"

 

BTW: Yes, it is german 😉


Thank you very much!

 

First, Please contact your local NI Support rep Make a back-up of that project and its dependencies and deliver it to NI.  R&D Really needs that example.

 

Next, Check you Private messages for a LabVIEW ini token that I would like you to try adding to your system.  Add the line with LabVIEW Closed then open the project and report back any changes to the IDE Performance. (Just Sent!)

 

Your code has a cyclomatic complexity of 448.  5 is "Normal" 15-20 is considered "Hard to maintain" I have personally never attempted to modify code greater than 85ish (It was awful-and did not work correctly when I started).  

 

Don't bother with changing the compiler settings in the tools>>Options>>Environment.  That high of a Cyclomatic complexity nearly guarantees the compiler optimizer is going nearly insane trying to dissect the code.

 

That helps NI Find the root cause of the IDE slowdown but does not address your larger issue.  Your main issue is that you have a "Frankenstein's Monster" of a main vi.  It likely grew from various pieces parts harvested from code that was buried and pieced together to form a "Superior.vi"

 

We need to look at finding means to help you get control of that monster.

 

The VIA results offer some places to start.  Pay attention to VI Properties>>Memory as you go through all of these stepsCapture.PNG

  1. Get the data memory footprint reduced:  Look into the results of Array Default Values.  See how much memory you can free by either loading that data from a configuration file (Files) or simply emptying the data if it is not useful.  
  2. Nested Structures: You have several deeply nested structures! Usually that means the construct's purpose was overly broad (God Structure) we can help you re-work those more meaningfully and, BONUS, instill some better software design practices that will help you down the road.
  3. Basic Maintainability: Hidden/overlapping objects and objects with duplicate names. Easy fixes.  And while we are at it lets start adding comments on structures so we know what its supposed to do.

We should also look into why there are 35 Write Globals, 34 Write Locals (smells like a mess) There are better options but we need to understand your use cases

 

108 Controls and 116 Indicators?  That is WAY TOO MUCH DATA for a user to grasp and use properly.  Go back to your user and get the "User's Story."  What does the user really need?  A Configuration page? Great split out a Config Dialog.vi! An "at a glance" summary of system condition? Outstanding- give them a simple status display!  Details of history/trends- Any TDMS file viewer will do for that!  Don't burden the user with anything that is not needed to run the system.

 

I'm betting that we can reduce the Cyclomatic Complexity by at least an order of magnitude, restore the IDE Responsiveness and result in a better code base on top of it all.

 

And again THANK YOU! very much for sharing these observations with us.


"Should be" isn't "Is" -Jay
0 Kudos
Message 17 of 50
(1,770 Views)

The Service request number is 7704947.

BR

EWiebe

 

-------------------------------------------------------------------
Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 18 of 50
(1,757 Views)

The memory usage of my main vi shows:

see attached picture

complexity: 11

 

(btw: the here called main vi (SUB Prüfung Sensor.vi) is not the top main vi in my project but it contains all relevant code )

 

(how to insert pictures directly into forum messages?)

-------------------------------------------------------------------
Eugen Wiebe
Bernstein AG
CLAD - Certified LabView Associate Developer
0 Kudos
Message 19 of 50
(1,751 Views)

@EWiebe wrote:

The memory usage of my main vi shows:

see attached picture

complexity: 11

 

(btw: the here called main vi (SUB Prüfung Sensor.vi) is not the top main vi in my project but it contains all relevant code )

 

(how to insert pictures directly into forum messages?)


Create a *.png using the Windows snipping tool (it helps to have it here)

Capture.PNG

Then hit the highlighted "Camera" icon and

Capture1.PNG

Browse to where you saved the png and select upload towards the bottom of the dialog


"Should be" isn't "Is" -Jay
0 Kudos
Message 20 of 50
(1,737 Views)