Tips and Tricks: VARCHART XGantt Performance Increase by Partial Load

Posted by Martin Karlowitsch on May 15, 2013 2:40:00 PM

Since the Build 4.400.0.299 of VARCHART XGantt 4.4 (both ActiveX and .NET edition) VARCHART XGantt offers one more highlight: The propertyVcGantt.PartialLoadThreshold that under certain conditions significantly increases the data reloading performance. This mainly concerns transaction-intense applications that are characterized by the repeated reloading of only small data amounts into complex Gantt scheduling applications at runtime.

With the conventional and proven VARCHART XGantt approach, the default loading cycle starts with the first InsertNodeRecord (DataRecordCollection.Add) and ends with Endloading. When new data are added to the application, this methodology first removes all existing internal structures like groupings, sorting or summary bar calculations that are based on the previous data set. In the second step, these internal structures are rebuilt on the basis of the enhanced data. Meeting the demands of many NETRONIC customers, this methodology was especially optimized for loading large data amounts into complex Gantt structures such as loading data into an empty Gantt chart for the first time.

Decision cycles get shorter and planning and scheduling applications increasingly depend on (intraday) actual data. Hence the question of low latency becomes more and more important for our customers. In such volatile environments, the removal and rebuilding of the complete Gantt structures may not always be the most suitable way. Thus we decided to complement the conventional data loading methodology with an approach that is optimized towards rapidly feeding in only a few incremental data.

The VARCHART XGantt property PartialLoadThreshold lets the user define a threshold for the number of incremental data up to which the VARCHART XGantt will be created in performance optimized partial updates. When new data are added to the Gantt chart, the system automatically performs either an optimized partial update for smaller quantities or a full update for larger quantities. The optimal threshold value depends on the customer-specific Gantt chart implementation, the complexity of the Gantt functionality, and the number of nodes already loaded and still to be added. For further information see the XGantt manual or look up the Tips&Tricks on our website.

The PartialLoadThreshold property has already been used by NETRONIC’s customer Steria Benelux SA, who runs a very volatile scheduling application with relevant low latency requirements. Antoine Roelens, Project Lead, summarizes his experiences: "We already started to work with the performance-optimized XGantt and we are glad with the results. We realized performance increases by a factor 10. This is a quantum leap."

The property lets VARCHART XGantt cope even with the most challenging requirements in terms of performance: On the one hand, the control allows for the quick loading of huge data volumes when the Gantt chart is initialized, at the same time, however, it can also handle rapid data feeds and updates.

If you don’t use the current build of VARCHART XGantt 4.4, get it here.

Topics: Windows Forms Gantt Control, XGantt development tricks, Gantt Best Practice, Gantt Chart Controls