Why does my StringGrid seem to slow down after tens of thousands of entries? Free Pascal?

Well as a Delphi bloke two things popped out at me. AutoSizeColumns. If you are lucky it's doing nothing.

If it's marching down all columns in 10,000 rows, every update and doing a GetTextLength to see if it fits, then repainting the grid.

Well as a Delphi bloke two things popped out at me. AutoSizeColumns. If you are lucky it's doing nothing.

If it's marching down all columns in 10,000 rows, every update and doing a GetTextLength to see if it fits, then repainting the grid.... So job 1 would be to preset some column sizes and comment that out. Do it once at the end of the scan at most. Who is going to want to see all 10,000 + rows at once?

I think I'd stream them out to file, and show the last 1 - page full to indicate progress. Then I'd drive my ui from the file, using a simple get a page full scenario. Depends on what you are doing with the data, but you could reload file for further analyis, do a compare for changes.

Even if you stick with in memory Have a TList? Of THashRecord. Then drive your display from that, you'll have a chance then.

Taking out the auto-size really helped! In my tests so far, it's made it about 30% faster, or, to put it another way, when I added that feature, it seemed to have slowed it down by 30%, but I just didn't realise it was that particular feature. – Gizmo_the_Great Dec 11 at 23:38 I found that one out the hard way too.

– Tony Hopkinson Dec 11 at 23:43.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions