This is a migrated thread and some comments may be shown as answers.

RadGridView hangs? silverlight

3 Answers 59 Views
GridView
This is a migrated thread and some comments may be shown as answers.
Pablo
Top achievements
Rank 1
Pablo asked on 24 Jul 2013, 11:29 AM
Hello, 

I'll try to explain the annoying error that we are facing in one of our SL applications. We have drilled down to the RadGridView as the source of the problem, or at least it is related with it.  

Our app uses RadDocking to presents several tabs to the user. One of the tabs is a realtime view which viewmodel requests data to a WCF Service every 10 seconds (it launches 4 calls to WCF each time, and all of them use anonymous delegates). The service response that affects the RadGridView is processed as follows: 

this.CT1Values = (from ......).ToObservableCollection().


The "ToObservableCollection()" function takes a List<T> as parameter and returns an observable collection of <T>. CT1Values is a property that implements INotifyPropertyChanged. The RadgridView is directly connected to it via ItemsSource = {Binding CT1Values, Mode=OneWay}

We know that re-creating the ObservableCollection bound to the RadGridView every time we get a response from WCF service is not optimal; however we consider it does not justify the following behaviour: 

  1. Open the realtime view in a tab. 
  2. Open other views in other tabs (remember we use radDocking). Those are not realtime views. 
  3. Bring to front the realtime view tab and go home. 
  4. Come back next day. The view is updating values (grid included), and everything works great apparently. 
  5. Then, switch to another tab and switch back to the tab containing the realtime view. 

And then, IE, Chrome or Firefox start consuming 20-30% of CPU, the entire application becomes unresponsive for 5 minutes and finally, if you're lucky, comes back to life (not in Firefox, that finally kills the plugin-container.exe).

We have been able to reproduce this without the need of letting it running all the time. We just decreased the WCF request period (and therefore, the CT1Values update) to 200 milliseconds. Then, this happens in just 2 minutes. 

We think this is related to the RadGridView because we tested the View placing only one UI Element at a time and re-running the test. All UI Controls (some of them our own usercontrols) worked perfectly... until we placed only the RadGridView, and then the 1 to 5 points story happened. We also tested replacing the RadGridView with the .NET GridView control, and it worked perfectly. 

I hope you can provide any help. This app is intented to be always up and running, and typically showing the real time view in a big monitor without user interaction. 

By the way, RadControls version is 2013.1.403.1050.

Thanks.



3 Answers, 1 is accepted

Sort by
0
Dimitrina
Telerik team
answered on 25 Jul 2013, 02:21 PM
Hi,

In general I would suggest you to go through the Degraded Performance and the Tips and Tricks help articles suggesting on how you could improve the performance. You can also set a fixed ColumnWidth for the columns in the GridView.

If you place the GridView inside a TabControl or a RadPaneGroup, please set the IsContentPreserved property of the containing control to True. 

Regards,
Didie
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Pablo
Top achievements
Rank 1
answered on 25 Jul 2013, 03:31 PM
Hi Didie, 

I don't think this is a problem about performance. It looks like something that does not work properly. Why? The RadGrid I am talking about loads 2 ROWS (yes, the Ct1Values OC has only 2 items), and those rows are updated after each wcf call (well, as I said in my previous post, the CT1Values OC is recreated after each WCF callback).

As I said, the native .NET GridView does not reproduces this behaviour. 

Regarding IsContentPreserved, we have already tried this one because we exactly wanted that behaviour: keeping controls loaded on tab change. The result is that all RadPanes turn completely white. We tried two things:

  1. Setting IsContentPreserved in XAML. Everything is white, no matter how many tabs you try to open.
  2. Opening several tabs and then, via a button click event, setting IsContentPreserved to TRUE. Same result: as you press the button, all opened tabs turn white. 

About IsContentPreserved I've read posts talking about this bug and that I think it was supposed to be solved... but I am having this behaviour. As I said, I am using RadControls version 2013.1.403.1050.

Thanks for any help that you may provide. Regards, 

Pablo.
0
Dimitrina
Telerik team
answered on 29 Jul 2013, 02:48 PM
Hello Pablo,

We have just released 2012 Q2 SP. Would you please also test with it and let me know if there is any difference? 

Regards,
Didie
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for SILVERLIGHT.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Tags
GridView
Asked by
Pablo
Top achievements
Rank 1
Answers by
Dimitrina
Telerik team
Pablo
Top achievements
Rank 1
Share this question
or