GNOME Bugzilla – Bug 587020
GtkTreeView crawls with a11y enabled
Last modified: 2010-12-31 03:16:41 UTC
Please describe the problem:
ATK enabled makes calls to treemodel iter_child/iter_next go from 1 to thousands
Steps to reproduce:
1. Nautilius: https://bugs.launchpad.net/nautilus/+bug/159042
2. GRAMPS: http://article.gmane.org/gmane.comp.genealogy.gramps.devel/12372
I would expect also rythmbox: http://bugzilla.gnome.org/show_bug.cgi?id=419383
Calls to the TreeModel go to the thousands, making applications crawl when atk is enabled.
Perfermance goes back to normal with atk disabled
atk should not have such a hit on treemodel performance
Does this happen every time?
an application developer would expect ATK
only to react to the signals the TreeModel signals.
If I change the entire model, ATK should do nothing as long as the app does not
signal a row-changed, row-updated or row-deleted event
1/disable ATK, GTK apps not used in GNOME don't suffer from this :-)
2/unattach model, reattach after update. This is against the API doc of GTK though. If I have a treeview of 4000+ entries, will unattach, then attach not slow the normal use case down (so where a row_inserted is beneficial).
It seems this bug is present since 2007. It is hard to find information on Google though. Somebody should update some part of some wiki/gnome page so this info is more easily found.
I reported this before, it is bug #577098
You will find more information there.
As far as I can tell by browsing the web and the code, the Atk functions were implemented by Sun Microsystems around 2005. But not much work has been done since then.
In bug #419383 Jonathan Matthew says:
"The accessibility subsystem is currently being redesigned and reimplemented
(replacing CORBA with dbus). I haven't looked at the new implementation in any
detail, so I have no idea if it addresses this problem at all. Start here if
you're interested: http://live.gnome.org/Accessibility/BonoboDeprecation
This is the straightest answer I've read in months.
(In reply to comment #1)
> I reported this before, it is bug #577098
> You will find more information there.
So this bug should be closed as DUPLICATE?
(In reply to comment #2)
> (In reply to comment #1)
> > I reported this before, it is bug #577098
> > You will find more information there.
> So this bug should be closed as DUPLICATE?
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > I reported this before, it is bug #577098
> > > You will find more information there.
> > So this bug should be closed as DUPLICATE?
Ping to the Maintainer (Li Yuan) or the reporter (Benny Malengier). This bug can be closed as DUPLICATE (I can't close it).
Close as duplicate. But we still need to work on the performance of treeview.
*** This bug has been marked as a duplicate of bug 577098 ***