WPF DataGrid Performance, it’s something we love to improve. In fact we love improving the performance of everything we build, to us, performance is a feature. Each and every time we push the boundaries of performance it makes the product even better for you.
We recently had a customer ask us if we could improve the performance of our WPF DataGrid. Although our DataGrid has great performance, there are some applications that really push the envelope, so the current performance wasn’t quite going to cut it.
We love improving the performance of our heavy duty controls and so we were certainly up for the challenge. We identified flaws in the WPF measurement invalidation process. We discovered that the DataGrid was being remeasured many more times than it needed to. Measuring things sounds like it shouldn’t take long, but when you’re talking about potentially thousands of elements, it gets noticeably slow. The solution was to write our own measurement invalidation system to give us full control of when the whole DataGrid needs to be redrawn.
Shortly after making this improvement and testing it, we released a nightly build that improved the performance of rendering the DataGrid by roughly 400%!. That’s a big win in my book! All the user interactions such as scrolling and resizing columns is noticeably smoother when working with a lot of data. You will also find that since model operations such as sorting and grouping trigger a redraw, these actions are now more responsive for larger data sources too.
A 4x performance boost means your applications will feel noticeably smoother for your end users.
Even if you don’t push the limits of the DataGrid like this customer, these improvements will still benefit your applications by making them silky smooth.
If you’re not yet a customer, grab a trial nightly build. If you’re already a paying customer then you can get the current nightly from your account.