After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 116642 - Treeview not responsive when you have many columns
Treeview not responsive when you have many columns
Status: RESOLVED WONTFIX
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
unspecified
Other Linux
: Normal normal
: Medium feature
Assigned To: gtktreeview-bugs
gtktreeview-bugs
Depends on:
Blocks:
 
 
Reported: 2003-07-03 16:43 UTC by Dennis Björklund
Modified: 2014-03-27 02:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Validate 1500 cells at a time instead of 500 rows (945 bytes, patch)
2003-07-03 16:44 UTC, Dennis Björklund
needs-work Details | Review

Description Dennis Björklund 2003-07-03 16:43:28 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.
Comment 1 Dennis Björklund 2003-07-03 16:44:36 UTC
Created attachment 18018 [details] [review]
Validate 1500 cells at a time instead of 500 rows
Comment 2 Dennis Björklund 2003-07-03 16:48:18 UTC
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.
Comment 3 Soren Sandmann Pedersen 2003-07-03 18:42:40 UTC
(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).
Comment 4 Dennis Björklund 2003-07-03 18:49:07 UTC
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.
Comment 5 Kristian Rietveld 2003-08-14 19:05:50 UTC
I like Soeren's approach better, personally.
Comment 6 Dennis Björklund 2003-08-15 06:58:07 UTC
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.
Comment 7 Kristian Rietveld 2003-08-15 12:32:53 UTC
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.
Comment 8 Dennis Björklund 2003-08-15 12:50:40 UTC
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 9 Luis Villa 2004-04-29 20:07:20 UTC
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.
Comment 10 Kenneth Haley 2004-07-22 01:17:01 UTC
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.
Comment 11 Matthias Clasen 2014-03-27 02:55:03 UTC
closing out ancient bugs