GNOME Bugzilla – Bug 116642
Treeview not responsive when you have many columns
Last modified: 2014-03-27 02:55:03 UTC
The text view validates 500 lines at a time. This gives very long times in my application where the whole gui is freezed. This is because it has a lot of columns which takes time to validate. A better measurment is to count the number of cells to validate at one time. I've changed that and will attach a patch for it.
Created attachment 18018 [details] [review] Validate 1500 cells at a time instead of 500 rows
Perhaps I should say this also, that it is not counting the exact number of cells it is validating. But it doesn't need to be exact. The idea is to not validate too many lines at a time when you have many columns.
(You mean the TreeView, not the TextView) In my opinion it would be best to measure the _time_ spent validating and then run the main loop after a short time has passed (10-50 ms or so).
Sure, that would be better. Still, this is a very small change and it makes a big difference for us that have many columns and it doesn't change much for those who do not.
I like Soeren's approach better, personally.
Sure, if someone wants to do that then please do that. Any solution suits me as long as it's no left as it is. The current treeview is so slow that it is useless for my program.
If you have a TreeView where all rows have a fixed height, then you might want to try out my fixed-height-patch to treeview which I will put in bugzilla once it's ready. My fixed-height-patch will make the case where all rows have the fixed height *much* faster (though the programmer will have to turn the "feature" on himself). Once it's in bugzilla I will let you know. I hope to get that patch in 2.4. Also, I will make sure a patch for this suggestion (this bug) will make 2.4.
Great! I know about your fixed-height work but have not tested it. It's something I really would like to use in my program, yes. Another thing I would like is when I have 100000 rows then it could take a small number of these to calculate the widths of the columns. I usually don't need a perfect width just something sensible as a first setting that the user can change after that. But that belongs to another bug, or maybe should/can be handled without extra code in the toolkit. I'm really happy that gtk 2.4 will be better in this area then previous versions. Thanks.
Comment on attachment 18018 [details] [review] Validate 1500 cells at a time instead of 500 rows needs-work'ing based on Soeren and Kris's comments.
Is anyone still working on this? On windows gtk+ 2.4.3 my entire system slows down for about 20 seconds while the tree view validates 43000 rows with 5 columns. I'm hoping that the proposed fix will solve the problem. The next ctree I have to convert needs to handle >300000 rows so the problem will be worse.
closing out ancient bugs