Deteriorating performance with increasind number of properties

Weicong

We have a single Property grid with around 83 properties. When the item on the property grid changes, it takes almost 400 ms to just set the new item to the property grid.

I tried a test application and saw that with the number of proeprties increasing, the performance of the property grid gradually deteriorates.Attached is a screenshot of the performance profile taken. Please help analyze and suggest how this can be improved.

Weicong

RenderMode=Flat does not improve the performance.
Also the container for the propertyGrid is a Grid, as far as I understand it does not measure it children to infinity. Tried with DockPanel and that doesnot do it either.

Maya

It is strange that you get such performance as RadPropertyGrid works pretty great with a bit more properties displayed (as you can see in our demos). Is there anything more specific that you do ? What are your exact settings and definition of the property grid ?

The time taken to change the Item increases with the increase in properties in Person object.
I see the ProeprtyGridField is created everytime the Item changes, rather than just updating the values for the property.

Weicong

Can you look at the stack trace I attached with the first email and try to see why that happens at all?
Can you please check why the PropertyGridField is recreated even when the property definition does not change? And why we just do not update the value?

And may be could you also check - irrespective of the Panel, why does the control behave that slowly?

Thanks,
Shweta

Maya

Will it possible to try one more thing in your application ? Could you call SuspendMethod() of PropertyDefinitions collection, change the Item and call ResumeNotifications afterwards ? Are there any changes ?

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks or appropriate markings.