Hi,
We are using UltraWinGrid to display frequently updated data. The datasource is set to BindingSource which in turn takes a dataset. When there are a lot of updates coming in at the same time, the CPU usage spikes. It appears a GUI painting issue because when we shrink the application window to make updating region invisible, CPU usage comes back to normal. Is there a way to optimize grid painting performance? Would virtual mode help?
Thanks.
Simon
Simon,
What version of the grid are you using? I know that a lot of performance improvements were made in the 7.3 release. From what it sounds like, it definitely seems like a painting issue, since the size of the grid directly affects performance. One thought would be that if you know you're getting a large batch of updates at once, you could try wrapping them in a BeginUpdate/EndUpdate block on the grid so that it only needs to paint once.
-Matt
I am using 8.2.2 (Version 8.2.20082.1000). Is the same performance enhancement in 7.2 that you mentioned applied to this newer one?
The CPU spike, along hugh memory increase is constantly crashing the application.
Hi Matt,
Thanks for your reply. We are still on 7.1. How can we wrap painting in BeginUpdate/EndUpdate block? We are using BindingSource so the grid update itself whenever datasource changes. I suppose you mean there is a way that I can suppress grid from repaint itself, then I can batch the updates. Can you give me more details on that?