Hi,
we are using the Xamdatagrid control (Verison: 11.1.20111.273) for our application. In almost all cases the grid runs smoothly but one of our customer has big performance problems with the grid on some PCs. The Rendering of the grid takes over 4 Minutes für nearly 1000 data records and 20 columns. When we set only one column visible the performance is ok but by setting more columns visible the perfomance drops enormously.
What we already have tried:
-Install newest video driver
-Reinstall .Net Framework and DirectX
-Set software rendering for the application
-Disable WPF font Cache Service
The Hardware specs of the affected Pcs are:
32 Bit Windows 7 SP1
Intel i3-2100 3.1 Ghz
4 GB RAM
Nvidia NVS 300 video card
Have you got a idee what can cause this performance issue?
regards
Hase
Hello Hase,
I don't recognize that version number. The latest 11.1 version is 11.1.20111.2282.
Have you tried profiling the application to see where in code the majority of those 4 minutes is taking place? 1000 records and 20 columns doesn't seem like a lot although columns in the XamDataGrid are not virtualized so it will render all of those columns for every visible row. Are you doing anything else to the grid, such as filtering or grouping?
I threw together a very basic sample that loads a XamDataGrid up with 1000 records and 20 columns. It displays in just a couple of seconds. Can you modify my sample to reproduce your issue or send me an existing sample you might have that reproduces this? That way I can try investigating where the performance issue is occurring.
Sorry,
we are using die Version 12.1.20121.1010. We don't see the code before the 4 Minute but aber that time "RecordsInViewChanged" is executed and the rendering is done.
Which event handler are executing before RecordsInViewChanged ?
As I said this Performance issue only appears on some Pcs of one customer. Other Pcs are running smoothly. In some cases we have over 50K Datarecord an the Performance is ok.
Yes we are filtering and grouping records. The same Problem appears also when we set or delete a filter on the ui.
I can't modify the example because we are not able to repoduce this behavio but i can try to run your example on the customers pcs.
thanks
i have tried your example on the customer pc and its the same behavior. It takes nearly 40 seconds until i can interact with the gui. Meanwhile the cpu usage is at 25%.
regards,
Hi Hase,
If only one PC is having performance issues it maybe due to UI automation. That PC might have some screen reading application running in the background that is looking at your application and causing the XamDataGrid to generate automation peers. This can cause performance issues. We have a property you can set that will keep the grid from generating these automation peers which could potentially help (assuming UI automation is the culprit). It's a static property called ProcessVisualTreeOnly and you can find it on the DataPresenterBaseAutomationPeer class.http://help.infragistics.com/doc/WPF/2012.1/CLR4.0/?page=InfragisticsWPF4.DataPresenter.v12.1~Infragistics.Windows.Automation.Peers.DataPresenter.DataPresenterBaseAutomationPeer~ProcessVisualTreeOnly.html
Give this a try and let me know if that improves anything.
Hi, how and where do you set this ProcessVisualTreeOnly property? Thanks.
hi Rob,
thank you very much for your approach. We dont know which application is responsible for the performance issue but by setting the property ProcessVisualTreeOnly in code the problem has been resolved.
Thanks again!!!