Wpf.GanttChart.performance *= 10

flight sky earth space

Fotografie de Pixabay pe Pexels.com

During the previous few weeks we’ve worked hard and we’ve improved both the load time and runtime performance characteristics of all WPF based Gantt Chart components from DlhSoft Gantt Chart Light Library. Again, even further.

For some specific configurations (high number of total items, indentation levels, number of child items in summaries, numbers of item/summary dependencies, with auto-scheduling mode on, etc.) read that as: much, much further. Like 10 times better. Or somewhere around, anyway.

We’ve also fixed some long time issues. Like it was the DataGrid scrolling bug when summary nodes with many children were collapsed and therefore a lot of rows were hidden, which (sometimes) even leaded to stack overflow exceptions within the DataGrid code itself. We’ve fixed that one using a middle layer collection of visible items managed internally by our component. (And it works well, performance isn’t going down at all!)

And of course, as usual, we’ve added other improvements to make your life (and your customer’s) easier.

Enough introduction, however, we’d better provide facts instead. Here is, therefore, an extract from our internal git log (original dev content):

  • Scrollable content height fix when smaller than viewport
  • Optimizations for expansion/collapsing items
  • Correction for ScrollTo(item)
  • Enlarged DragTaskThumb hovering areas
  • CollectionViewSource-based approach for expanding/collapsing items on GanttChartDataGrid
  • VisibleItemsConverter
  • Fixed AlternatingItemBackground on GanttChartDataGrid when row.GetIndex() % 2 != row.AlternationIndex
  • Improvements for auto-scheduling (ToArray calls, sibling checks)
  • AreTaskDependendenciesReadOnly, item.AreDependencyConstraintsEnabled
  • AsyncPresentationStarted event
  • GetScale(index), Scale.IntervalProvider, HeaderContentProvider
  • Context menus (item, depenency)
  • ExtraTaskTemplate, improvements for thumb sizes
  • Summary completion bar (on IsSummaryTaskCompletedEffortVisible true), other improvements, corrections
  • SummaryCompletedBarFill default style improvements
  • Visible items add optimizations
  • Performance improvements at load time
  • Index optimizations, expand/collapse optimizations (waitingToRefresh)
  • Level resources improvements (exclude tasks without assignments)
  • EnsureDependencyConstraints upon OnAsyncPresentationCompleted
  • Refresh chart height with timer and also triggered on scrolling
  • Undo corrections
  • Improvements for predecessor creation and task indentation updates
  • Fix for alternating background
  • Further alternative item background fix (for Schedule Chart)
  • Background priority for EnsureDependencyConstraints to increase performance for updating predecessors

We’re very proud of the result and we hope you’ll like it too. Note that we’ve ensured everything is backwards compatible, so we encourage you to go now and get the new package either with NuGet or directly from our Web site. So… enjoy, and bring extra happiness to your own customers too!

(Are you new to our Gantt Chart library? You can easily run demos on Windows without getting the package and without installing anything – we’ve updated their GitHub repo to use the latest build as well.)

About DlhSoft Team

DlhSoft is a software development company focused on building high quality and innovative solutions using state-of-the-art technologies for customers worldwide. Our activity includes designing and developing general purpose software applications, components and tools, and customized software solutions upon request. DlhSoft team is highly experienced and fully dedicated to software development. Additionally, one of the most important things we rely on is the continuous communication with the customer.
This entry was posted in Development Components and tagged , , , , , , . Bookmark the permalink.

Add a reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s