Hi,
I am developing a application for a customer using telerik comoponents - so we tought we can use telerik GridView at the beginning it was ok but after i applied the windows8 theme the performnace is dead.
Here are a few hints which kills the performance:
* When the grid gets the FrameworkElement.Unloaded event it consumes too much time accessing hashCode
Please check the function "private void OnUnloaded(object sender, RoutedEventArgs e)" inside GridViewDataControl.cs line 202
The problem is that we have a nested loop where we iterate through a IDictionary<object, IEnumerable<IDisposable>> - please add the possibility to disable this behaviour (I see its only enabled when WPF is used) - i am good if the GC takes care of.
* Inside ClearIctdSubscriptions (GridViewDataControl) you call containskey on a map and than access it with a indexer this means we search twice - why do you guys do not use TryGetValue there?
And again stop calling dispose there on each element which consumes to much time if we want to switch fast between views
How to reproduce it
1) Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.Windows8Theme();
2) Create a custom object and populate the grid with 10 items (yes thats enough to see the lag)
I am developing a application for a customer using telerik comoponents - so we tought we can use telerik GridView at the beginning it was ok but after i applied the windows8 theme the performnace is dead.
Here are a few hints which kills the performance:
* When the grid gets the FrameworkElement.Unloaded event it consumes too much time accessing hashCode
Please check the function "private void OnUnloaded(object sender, RoutedEventArgs e)" inside GridViewDataControl.cs line 202
The problem is that we have a nested loop where we iterate through a IDictionary<object, IEnumerable<IDisposable>> - please add the possibility to disable this behaviour (I see its only enabled when WPF is used) - i am good if the GC takes care of.
* Inside ClearIctdSubscriptions (GridViewDataControl) you call containskey on a map and than access it with a indexer this means we search twice - why do you guys do not use TryGetValue there?
And again stop calling dispose there on each element which consumes to much time if we want to switch fast between views
How to reproduce it
1) Telerik.Windows.Controls.StyleManager.ApplicationTheme = new Telerik.Windows.Controls.Windows8Theme();
2) Create a custom object and populate the grid with 10 items (yes thats enough to see the lag)