Edit this page

Performance

RadPropertyGrid’s API allows you to tweak your application for optimal performance. If you are a developer who wants to use RadPropertyGrid, you should familiarize yourself with the following features:

  • RadPropertyGrid supports UI Virtualization, which processes only information loaded in the viewable area, which will reduce the memory footprint of the application and speed up its loading time, thus enhancing the UI performance. Read more.

  • Avoid using converters. Calling a converter is a time-consuming operation and this will slow down the performance.

  • Try not to place RadPropertyGrid in controls/panels which will measure it with infinity. For example, ScrollViewer, StackPanel and Grid with Row.Height=Auto or Column.Width=Auto will measure with infinity. If RadPropertyGrid is measured with infinity it will have an infinite amount of space to arrange the fields, so it will try to arrange all of them.

  • If applicable, try to stick to the default templates and avoid overriding templates of fields.

  • As of Q1 2012 SP1 we have introduced a new way to style the controls by using Implicit Styles. There are a number of benefits of using implicit styles over the Telerik StyleManager. For more information, please refer to the XAML Theming – Implicit Styles versus StyleManager blog post.

  • RadPropertyGrid with applied Windows8, Windows8Touch or Office2013 Theme - Telerik controls in these themes use resources, which are dynamically loaded. Thus this approach slows down the performance of virtualized components, such as RadPropertyGrid.

  • As of Q2 2014 SP release we introduced the option to turn off the generating of the automation peers through the new global AutomationMode property of the AutomationManager. You can check the UI Automation Support article on how to set the AutomationMode property to Disabled.

  • TouchManager – another optimization would be to disable the Touch Support. You can refer to the Touch Support article.

  • As of Q1 2012 release we have introduced the option to enable/disable searching in nested properties through the SearchInNestedProperties property of RadPropertyGrid (the default value is False). Setting it to True, can lead to degraded performance, when you have a lot of visible nested properties.

  • As of Q1 2014 release we have introduced the option to enable/disable editor caching through the EnableEditorCaching property of RadPropertyGrid (the default value is True). Setting it to False, can lead to degraded performance, since a new instance of the editor for each field will be created when the same PropertyDefinition serves as data context (i.e. search, grouping).

  • When adding/removing a lot of PropertyDefinitions (for example more than 100) at runtime, you should consider invoking the respective SuspendNotifications() and ResumeNotifications() methods and raise notifications only once for all the operations.

See Also