Hi,
We've got a XamDatagrid with row-level virtualization turned on, and performance is still quite bad with just 205 rows.
It takes quite a while to load up, and the vertical scrolling is very sluggish.
By using JetBrains dotTrace profiles, we can see that scrolling is spending too much time on below methods:
- CommandHelpers.CanExecuteCommandSource - This is a WPF framework method. Just in case I've removed a RoutedCommand we had, and it's still showing up as a "hot spot".
- DataPresenterBase.OnPreviewMouseLeftButtonDown - This is an Infragistics method.
Any idea on what's slowing down the vertical scroll?
Thanks.
BTW, re loading up time. According to dotTrace it's spending A LOT on GridViewPanelFlat.GenerationCache.GenerateScrollableRecords and GenerateTopFixedRecords.
Hello,
Please see the following resources on optimizing performance:
http://help.infragistics.com/Help/NetAdvantage/WPF/2011.1/CLR4.0/html/xamDataGrid_Optimizing_Performance.html
http://blogs.infragistics.com/blogs/kiril_matev/archive/2010/10/26/optimizing-xamdatagrid-performance.aspx
Sincerely,ValerieDeveloper Support Engineer Infragisticswww.infragistics.com/support
Do you have any other questions on this matter?
Looks like there was a big penalty caused by formats/masks, so have removed most of xamnumeric columns and have the properties formatted in the ViewModel. Still need to keep a couple of editable columns as numeric with their formats and masks.
Scrolling is still a bit sluggish, but can't get much details from the profiler - spends a lot of time on measuring/arranging cells, even though we've set fixed widths and removed all the automatic sizes.
Regards.
Would you like to create a sample we can look into further?
If you can provide a small isolated sample reproducing the issue along with exact steps to reproduce and expected / actual results. I can look into the issue further for you.
Sincerely,
Valerie
Developer Support Engineer
Infragistics
www.infragistics.com/support
It's inside a grid which is inside a TabControl.
If the grid is inside a stackpanel as this could cause an issue with measuring / arranging.