I’m using Xceed grid for an application that has a requirement to update around 1000 cells per second in a large grid (200 rows, 16 columns) . In an effort to improve performance and lower CPU usage I’m trying to minimize the number of screen repaints. Ideally I want to be able to control the number of screen repaints.
I’ve investigated SuspendLayout, but have come to the conclusion that this only gives a benefit when layout events are fired, and simply updating cells does not fire layout events.
Disabling redraws via the Win32 WM_SETREDRAW call causes the entire form to become unresponsive, and never correctly repaint itself even when refresh() is called. I suspect this is because the grid I’m using is too large.
I’ve tried Xceed.Grid.GridControl.BeginInit(), but didn’t notice any performance improvements. This is possibly because I’m not using a databinding, but updating the grid cells directly.
Can anyone point me in the right direction?
Imported from legacy forums. Posted by Adam (had 1774 views)
I don’t know if this is applicable in your scenario, but the only suggestion we have would be to queue the modification for a period of time (for example .25 second), and make the modification all at once. This should decrease the number of repaint the grid does.
Imported from legacy forums. Posted by André (had 2139 views)