Hi,
I am debugging a performance issue with XamDataGrid (v.16.1.20161.1000) and one of the most significant call is in VerifySort in XamDataGrid. I am trying to figure out how to avoid this call. My grid does not have any sorting on. When I created a sample app, I did not see this call so there must be some setting that set it off. I cannot share the production code for confidentiality reason, does anyone know if there is a setting that can turn off this call?
Hello,
The VerifySort is called when sorting is applied. Please note that when records are grouped they are first sorted so if you group by specific fields this will call the VerifySort as well.
May be if you share more details about the performance issue with XamDataGrid on your side I could assist you with more specific information.
Let me know if you have any questions.
Ah grouping that was what it is. Thank you very much for your reply.
We tested reloading a grid in a test application. We found that OnSourceCollectionReset calls VerifySort. When reloading the grid, VerifySort seems to be very expensive almost by 3x in our testing if all the records in the grid are expanded vs if all records are collapsed. See the attached stack trace.
We will upload the test application soon. In the mean time can you please investigate the attached stack trace. We have a usecase to display 10,000 records with nested records and all records expanded. At the moment it is taking upto 24 seconds to reload the grid. Of 24 seconds , 22 seconds is taken by VerifySort.
Hello Vaibhab,From your description it seems that the XamDataGrid is loaded without a delay the first time and the delay comes when the datasource is reset. Is that correct? The best option to assist you with this is to investigate the sample project that you have mentioned. Please feel free to upload it when ready.If the issue is reproducible only when the records are expanded, it could be the virtualization of the records that is causing the performance hit. The virtualization is turned off when the control is located in a container which measures its content elements with infinite height e.g. StackPanel, ScrollViewer.