Help needed
There was some discussion this week on desktop-devel about turning ‘Assistive technologies’ on by default in Gnome. See Willie Walkers original e-mail. Rob Taylor and I had discussed this previously, and at the time I didn’t have much of an opinion either way. After reading Willie’s e-mail though I was firmly in favor.
However Willie stumbled across a possible performance problem when accessibility is turned on. Using gtk-demo to test memory usage ‘top’ shows that accessibility can increase the ‘DATA’ memory section by 15mb, or over double the memory consumption. This was pretty shocking to me, so I tried to use massif to find the cause.
Thing is, massif reports that the memory allocation is not greatly increased by turning accessibility on. The maximum stack size is not increased either. The ‘DATA’ field of ‘top’ apparently reports the DRS, or data resident set. The number of pages used by both the stack and heap. Rob suggested that fragmentation could be the problem, but in general I’m pretty stumped as to what is causing the discrepancy.
Help and suggestions greatly appreciated 🙂
Conduit conversations
We have John Carr in the office now. (Infact he’s been there more than Rob and I this week.) This means lots of conduit discussions. I was treated to a crash course on Conduit internals that left my brain feeling like a squeezed sponge, wrung cloth, and juiced orange all at once. This syncing thing is terribly hard and John has some difficult use cases that he wants to make work. (Tranferring contacts from his laptop go to GMail, and from GMail to the N810 and from that to his laptop. Whew.) Good luck to him. I think its the ‘Brain the size of texas’ award if he manages it.
The rest of the week…
Rob probably can’t blog to tell you this because he is gibbering somewhere in the corner muttering “Reference, Reference, where art thou?”. He’s been debugging lifecycle issues for a fortnight now. Its left us vowing never to touch ‘C’ again whenever humanly possible. (Which is not very often).
I have been working hard on the D-Bus version of pyatspi. Its going much slower than hoped, but i’ll get there in the end. I have a holiday coming this week, a trip to Finland for a friends wedding. I’m really looking forward to it. Were going to have a week of saunas in Lapland.
I hope that Rob is aware to refdb (see http://refdbg.sf.net). That saved my a few time when I was in trouble with gobject ref-counts.
Last time I had assistive technologies on was half a year ago, and that was for many months due to maintaining the gnome accessibility packages as well in Gentoo. Finally I turned it off because I couldn’t stand the performance hit anymore. It’s the resource usage that gets hit hard, not memory usage. Try pasting a megabyte (lets say large, half a megabyte or whatever) of stuff to a pastebin in firefox and get a coffee, because you’ll have 100% CPU and unresponsive firefox for some 10 minutes. But that’s an extreme example, in more common cases it just is a consistent non-trivial CPU resource hit.
For example you don’t want to run mplayer in a terminal anymore, you want to run it inside screen and detach it, because otherwise the updates will go through AT-SPI all the time and give a constant 10-20% CPU usage, instead of 3% for music playing. Things like that…
You can figure I’m against the idea of turning it on by default, because the majority of users will get it on, endure the performance hit, not know about assistive technologies causing it and not knowing to turn it off, and then blaming GNOME for being slow.
These things should be fixed to not be an issue, but meanwhile…
Personally I’m into performance work, but concentrating on the non-a11y performance issues for now