(sorry for bad English)
I have a big problem with performance of DataGridView when it re-paints.
I’m using a DataGridView to show logs from an external application stream. Messages from the stream come in with a high frequency (less than 1 ms). If I add new row to the DataGridView immediately when each new message comes, the DataGridView doesn’t have time to re-paint itself before the next message comes.
A possible solution is to use a queue to collect messages and re-paint DataGridView every 100 ms with messages from queue. This is good but the DataGridView blinks when it auto-scrolls to the last row. (Smooth scroll is disabled)
Can you help me to improve DataGridView performance?
I recently had some slowness issues with
DataGridViewand the solution was the following codeIt turns double buffering on for
DataGridViewobjects. Just callDoubleBuffered()on your DGV. Hope it helps.Edit: I might’ve gotten this off SO, but I can’t search for the original right now so this is just to emphasize that the code isn’t mine.