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 109187 - GOK slow with StarOffice
GOK slow with StarOffice
Status: RESOLVED FIXED
Product: gok
Classification: Deprecated
Component: performance
unspecified
Other All
: High major
: ---
Assigned To: bill.haneman
bill.haneman
: 107475 112281 (view as bug list)
Depends on: 116183 117072
Blocks: 118134
 
 
Reported: 2003-03-25 20:58 UTC by simon.bates
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.3/2.4


Attachments
gok benchmarks (1.45 KB, text/plain)
2003-11-18 16:53 UTC, david.hawthorne
Details

Description simon.bates 2003-03-25 20:58:39 UTC
At CSUN Malte Timmermann reported to me that GOK is slow with StarOffice.
We could do some work on limiting the traversal of the tree of widgets.
Comment 1 bill.haneman 2003-03-27 12:43:46 UTC
it's _incredibly_ slow, so much so that most users might assume GOK
had hung.
Comment 2 David Bolter 2003-03-27 17:20:29 UTC
I can look into this one soon.  Part of this will be pruning the GUI
tree search as Bill suggested somewhere else.  The trick is to not
overlook anything while doing so.  Also, the maximum depth (and
breadth) of the search can be changed.
Comment 3 David Bolter 2003-06-01 22:25:47 UTC
I don't have an accessible staroffice set up.  Can someone test this
to see if this is still the case?  Anyone?
(Note this is not a June 9th feature rush)
Comment 4 Patrick Wade 2003-06-03 08:51:35 UTC
With a StarOffice build from last week (and a Gnome2.2 nightly build),
I've seen this significant slowness with GOK.

Comment 5 David Bolter 2003-06-03 11:55:02 UTC
Thanks Patrick, I probably won't be able to look into this until
sometime after the feature freeze (June 9th).
Comment 6 bill.haneman 2003-06-11 13:23:11 UTC
It would be nice to have a couple of specific cases to test and
(roughly) time on a particular machine.

I suggest that we change the current pruning settings from max depth
of 99 and width of 99 to something more manageable.
Comment 7 bill.haneman 2003-06-11 21:19:31 UTC
*** Bug 107475 has been marked as a duplicate of this bug. ***
Comment 8 David Bolter 2003-07-23 18:00:52 UTC
I've added gconf keys (in gok head):
apps->gok->spy->gui_search_breadth
apps->gok->spy->gui_search_depth

Note you must do a make install and restart your gconfd, or log out
and back in.  GOK often needs to interrogate the active application or
window for certain gui elements.  These keys describe a maximum
breadth to search (at any node), and the maximum depth to search when
walking the gui tree.  It would be great if someone could tweak these
to find optimal values for StarOffice. 
Comment 9 David Bolter 2003-08-07 16:22:07 UTC
*** Bug 112281 has been marked as a duplicate of this bug. ***
Comment 10 david.hawthorne 2003-08-13 10:21:58 UTC
GOK with StarOffice is still terribly slow with a gnome-2.4 build from
11 August. Has this been looked at since?
Comment 11 david.hawthorne 2003-08-13 10:25:28 UTC
Perhaps if the priority could be raised on this bug. It is making
testing of GOK and SO tedious.
Comment 12 David Bolter 2003-08-13 13:47:13 UTC
Ideally, I should have accessible staroffice on my linux workstation.
 Can anyone hold my hand and point me to the right tarball?
Comment 13 Patrick Wade 2003-08-13 16:13:28 UTC
The 1.1 RC2 build of OpenOffice.org contains most everything that was
released in StarOffice 7.

The linux version is available for download from:
http://www.openoffice.org/dev_docs/source/1.1rc2/#linux
Comment 14 David Bolter 2003-08-14 19:06:34 UTC
FYI I'm running accessible soffice now, thanks to everyone who emailed
me (Padraig, Patrick...)

I've updated gok-spy.c in cvs with some work towards a fix for this
issue.  I think you should notice a visible improvement, but there is
still more I can do, bit it is a bit more involved and so I will want
to proceed carefully since we are so close to the release.

Please let me know if this is an improvement.
Comment 15 david.hawthorne 2003-08-18 14:42:29 UTC
Just to add, the slowness is also apparent in other accessible java
appas like SwingSet2. I've just run gok with this app in a build from
the 14th August.
Comment 16 bill.haneman 2003-10-09 16:46:52 UTC
adding accessibility keyword
Comment 17 David Bolter 2003-10-17 17:42:03 UTC
My work on this bug got sidetracked. I will treat this as top priority.
Comment 18 bill.haneman 2003-11-17 17:04:04 UTC
I am working on the related 117072.
Thinning the search depth and breadth doesn't really impact this bug,
since StarOffice does require significant depth/breadth searching.
Comment 19 David Bolter 2003-11-17 17:23:46 UTC
Agreed.  There are some heuristics that have improved the search.  I
will help revisit this when we see the impact of the related bug's fix.  
Comment 20 david.hawthorne 2003-11-18 16:53:43 UTC
Created attachment 21595 [details]
gok benchmarks
Comment 21 david.hawthorne 2003-11-18 16:54:27 UTC
attached above is the results of the rough benchmarks carried out at
the beginning of October.
Comment 22 bill.haneman 2003-11-19 10:54:41 UTC
The current results are at least an order of magnitude too slow; and
if we expect StarOffice to be usable on a machine with less processing
power than 966 P6 (which we do), we'll need still more.  I'd venture
to say we need a factor of about 18.

I think 6 of that can be dealt with by the fix to 117072, but that
leaves a factor of three, which is pretty aggressive.  I am not sure
we can achieve this in GOK alone.
Comment 23 David Bolter 2003-11-19 13:45:46 UTC
Sounds like we would need to store and update a model of the
application which is yucky IMO.
Comment 24 bill.haneman 2003-11-19 14:00:25 UTC
in the sense of a traditional offscreen model? no.

But clearly we do need to keep a list of 'interesting' UI items in the
current context.  I don't think we necessarily should keep such a list
on a per-application basis, however.

IOW we just need to update our list when the 'context' changes, i.e.
when toplevel window focus changes.  Thus we call the update function
once per window:activate call.  This combined with not calling
foo_has_child() multiple times (or at all), will get us a factor of 6
anyhow.

The remaining factor-of-three may be tougher.  I have a version of a
patch for this which I'm testing now (the gtk+ focus issue is making
it hard to test effectively ATM).  It's a pretty aggressive patch,
e.g. it rips out a lot of stuff and replaces it, but I think it'll
help a lot.  It's possible that we'll get more than 6x out of it.
Comment 25 David Bolter 2003-11-19 14:54:02 UTC
The "rips out a lot of stuff" part makes me nervous...
Comment 26 bill.haneman 2003-11-19 21:09:26 UTC
yeah, I understand.
A lot of the stuff getting 'ripped out' appears to be cruft.  But this
work is requiring a fundamental rework of the UI search logic, thus
the relatively big impact. 

I think it's justified given the impact/size of the bug, i.e.
StarOffice being 2 orders of magnitude slower with GOK than we'd like.
Comment 27 bill.haneman 2004-01-23 00:53:26 UTC
This bug seems to have gotten much better as a result of the recent
changes for 117072: initial validation of GOK's Menus, UIGrab, and
Toolbar buttons takes under 1 second for a StarOffice document on my
(admittedly fast) x86 Suse machine (2.8 GHz), and display of the
appropriate GOK dynamic keyboard takes under one second.

Tempted to close this bug immediately, but probably we should do some
more testing.  Note also that I had to patch around a crasher bug to
test this, so that blocking bug needs to be fixed in order to get good
results with StarOffice and GOK from HEAD.  For now, am downgrading
the bug from 'Urgent' to 'High', pending more testing, with the hope
or marking it fixed.
Comment 28 bill.haneman 2004-01-23 14:15:09 UTC
confirmed that all above operations now take < 1 second on a 2.6 GHz
Linux x86 machine.  The branching operations that took longest in the
bug report (branch to ui grab, for instance) now all take only a
fraction of a second.  The only operation that takes a noticeable
amount of time is the initial validation of the three 'dynamic'
buttons on the GOK main keyboard, subsequent branching to them is
nearly instantaneous.

what's our minimum target machine?  Unless we target 500 MHz...it
looks as though all operations should be within our 2 second maximum
time on 1MHz and above.
Comment 29 bill.haneman 2004-01-26 20:08:21 UTC
David H, need feedback on this performance issue.
Comment 30 bill.haneman 2004-02-05 12:59:14 UTC
closing as fixed.  Reopen if serious problem (i.e. stopper magnitude)
is found to still exist, or open separate bugs for remaining issues.
Comment 31 bill.haneman 2004-03-07 12:50:23 UTC
using GOK with a StarOffice spreadsheet is still no fun.
The problem has reappeared, albeit less severely, since a change to
GOK logic which updates the component list on every keyboard branch.

We should really only update the component list in response to
"CONTAINER" add/delete events, and on application-context switches.

In order to fix this = we need to keep a more complete component list
(i.e. not use "current keyboard" flags when updating the master list),
and there may be some other small logic changes required.

Suggest fixing for gnome-2.6.1.
Comment 32 bill.haneman 2004-03-07 12:54:42 UTC
note: I still think it was right to close this bug previously, since
we are still an order of magnitude faster than we were before the
initial performance fixes.  Perhaps this should be a new bug?  

(opening a new bug).