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 587020 - GtkTreeView crawls with a11y enabled
GtkTreeView crawls with a11y enabled
Status: RESOLVED DUPLICATE of bug 577098
Product: atk
Classification: Platform
Component: atk
unspecified
Other All
: Normal normal
: ---
Assigned To: Li Yuan
Li Yuan
Depends on:
Blocks:
 
 
Reported: 2009-06-26 07:27 UTC by Benny Malengier
Modified: 2010-12-31 03:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Benny Malengier 2009-06-26 07:27:06 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 


Actual results:
Calls to the TreeModel go to the thousands, making applications crawl when atk is enabled.
Perfermance goes back to normal with atk disabled

Expected results:
atk should not have such a hit on treemodel performance

Does this happen every time?
yes

Other information:
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
(http://library.gnome.org/devel/pygtk/stable/class-gtktreemodel.html#method-gtktreemodel--row-changed
) 

Workaround: 
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.
Comment 1 eliudcabrera 2009-06-26 17:33:28 UTC
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.
Comment 2 Alejandro Piñeiro Iglesias (IRC: infapi00) 2009-12-10 11:31:08 UTC
(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?
Comment 3 eliudcabrera 2009-12-10 15:30:56 UTC
(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?

Yes.
Comment 4 Alejandro Piñeiro Iglesias (IRC: infapi00) 2010-12-30 17:00:25 UTC
(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?
> 
> Yes.

Ping to the Maintainer (Li Yuan) or the reporter (Benny Malengier). This bug can be closed as DUPLICATE (I can't close it).
Comment 5 Li Yuan 2010-12-31 03:16:41 UTC
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 ***