LabVIEW Idea Exchange

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

Improve Tree Control Performance

Status: New

Populating the Tree Control with items takes very long time.  I suggest improving the performance of a tree control.  Many other applications have tree controls that are populated in a small amount of time, so it should be possible with LabVIEW.

 

I know of three ways to populate a tree control.  The first is to individually add items using the Add Item invoke method.  This method takes a very long time.  Adding 15,000 entries took over 180 seconds.

 

The second way is to use the"Add Multiple Items to End" invoke method.  This took over 20 seconds for 15,000 entries.

 

The third way is to programatically respond to the user expanding an item in the tree and populating only as necessary.  I assume that this is fast, but it seems like a lot of work to do every time a tree control is used that could have a lot of items. Maybe LabVIEW could improve performance by using the third approach internally for the programmer. 

 

Currently I am hesitant to use a tree control because of performance.  LabVIEW is a great product, and making the tree control perform better would improve LabVIEW even more.

 

4 Comments
CMal
Active Participant
I agree the tree control performance should be improved, but it is currently possible to dramatically improve performance with the Defer Front Panel Updates property.deferfpupdates.png
SWalpole
Member
In my tests I tried both using Defer Panel Updates and not using Defer Panel Updates.  It does make a difference if tree items are added one at a time, but if the "Add Multiple Items to End" method is used, there is negligable difference.
SWalpole
Member
Message Edited by SWalpole on 02-09-2010 07:14 PM
FermWorks
Member

Making trees faster is more important than you might think!!

We have a large projects, with thousands of VIs. All the Build Spec dialogs (build exe, source dist, installer) rely heavily on tree controls, and editing build specs for large projects is SO SLOW and frustrating.