LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
TiTou

Utility to "Check dependency for UI Thread access"

Status: New

When analyzing execution performance it would really help if we had a simple yet comprehensive way to check a VI and all it's dependencies for "things" that would create a UI thread swap / access.

 

cheers


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

13 Comments
AristosQueue (NI)
NI Employee (retired)

VI Server properties/methods, Call Library Nodes configured to be UI thread, subVIs configured to be UI thread. I can't think of anything else.

TiTou
Trusted Enthusiast

Yes, the point of my suggestion is to have a one-click way to spot all of these.

Does it already exist?

 


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

AristosQueue (NI)
NI Employee (retired)

It's called the NI-User. Users can be deployed for all sorts of tasks, including checking a VI Hierarchy. 😉

 

Ok... joking aside...

No, no such inspection tool exists *directly*. But writing a VI Analyzer test to check for such things should be straightforward, and then you just run it over your hierarchy. (Note that I'm suggesting this workaround but not closing the idea.)

TiTou
Trusted Enthusiast

My turn to make jokes : this is the LabVIEW Idea Exchange, not the VI Analyzer Idea Exchange.

 

Joke aside, my wish is to have something that ships with LabVIEW (no extra coding nor toolkit required), just a menu option on the VI to scan it with it's dependencies.


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

jtagg
Active Participant

Do all VI server properties and methods go through the UI thread, or is that a general statement that has some exceptions?

crossrulz
Knight of NI

Only properties and methods for front panel items go through the UI thread (as far as I am aware).


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
jtagg
Active Participant

That's also what I thought, and why I'm asking. As far as I'm concerned the trickiest part to programmatically determine whether a VI needs the UI thread is a list of which properties and methods use the UI thread.

crossrulz
Knight of NI

It is not the list of properties and methods, it is a list of classes that is needed: VI, Control, Pane, Panel, Decoration, whatever I missed.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
AristosQueue (NI)
NI Employee (retired)

All VI Server properties/methods go through the UI thread. In other words, the properties/methods of any class that inherits from Application, VI, or GObject (both panel and diagram).

AristosQueue (NI)
NI Employee (retired)

TiTou: VI Analyzer is part of LV Pro. It's not a separate toolkit. If we were going to implement a feature like this, I can pretty much guarantee that it would be a part of LV Pro (pretty much anything that works on "whole hierarchies" instead of "single VI" is Pro).