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

Memory & Performance

3 Answers 79 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Andrew
Top achievements
Rank 1
Andrew asked on 25 Mar 2011, 11:07 AM
Hi,

We've been using Telerik controls in an application and noticed a large memory footprint and potential memory leak in what we thought would be a fairly simple view. We found the footprint of the application growing by about 10MB per added view which consists of several MS Textboxes, 3 RadButtons, 2 RadDatePickers and 2 RadComboBoxes. The fact that we expect to be able to have quite a few of these views onscreen, combined with the memory leak is a serious issue. After investigating our own mistakes, theming and memory issues we made very little imapact until we removed all controls from the view.

I wrote a simple test application with a UserControl with the items our view contains, a collection of these and some add/remove (remove followed by some forced GC) buttons in a blank, unthemed Silverlight project. The application's managed memory increases by only 0.44MB per view however the unmanaged memory jumps by 4.65MB per view, which seems a lot for a handful of controls.

We also find that this memory is not cleaned up correctly. In adding and removing 10 controls we find an extra 26.4MB of unmanaged memory floating about and plenty of live instances within the Telerik namespace in our memory profiler, including 19 to the Office_BlackTheme. As we're heavily theming these controls this could be an issue.

All round there seems to be an awful lot of memory use around Telerik controls and they don't tidy up too well. There are no instances of the actual controls I used but there's hundreds of objects from the Telerik namespace left. Using Virtualizing panels isn't really an option as we expect our application to be used across multiple monitors with many of these views visible at any one time. Is there anything we can do to improve performance?

3 Answers, 1 is accepted

Sort by
0
Hristo
Telerik team
answered on 29 Mar 2011, 09:02 AM
Hello Andrew,

We have seen this increase of unmanaged memory and we have reported it to Microsoft.
I don't think we can think do anything in this case (e.g. there are no live instances of telerik controls).

Best wishes,
Hristo
the Telerik team
0
Andrew
Top achievements
Rank 1
answered on 01 Apr 2011, 01:08 PM
Thanks for the response.

Whilst I can understand the issues with the controls not being cleaned up may be an area for Microsoft the controls still seem to use a fair amount of memory in general. I can understand it for very heafty controls like the grids and such, but for more basic ones such as buttons it seems quite a lot of memory usage. Is the issue of the large amount of unmanaged memory also an area for Microsoft to be looking into?

I do have my sample project that I can provide to help your diagnosis.

Thanks,
Andrew
0
Hristo
Telerik team
answered on 04 Apr 2011, 09:10 AM
Hi Andrew,

Most of our controls have other controls in the control templates (e.g. Chromes) which allow us to have unified look and easier styling. Because in Silverlight there is no support for Decorator pattern our Chromes are controls which have control templates and visual states. I believe that this chromes are causing the increased memory usage.

We are in the process of researching if we can reduce the memory usage.
If you need extremely optimized theme then the best approach would be to create custom theme with the smallest possible number of visual elements and visual states. Such theme is ExpressionDark where I think we are not using chrome controls.

Greetings,
Hristo
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items
Tags
General Discussions
Asked by
Andrew
Top achievements
Rank 1
Answers by
Hristo
Telerik team
Andrew
Top achievements
Rank 1
Share this question
or