Re: [g-a-devel] [Accessibility-atspi] AT-SPI and D-Bus
- From: Michael Meeks <michael ximian com>
- To: Gunnar Schmi Dt <gunnar schmi-dt de>
- Cc: gnome-accessibility-devel gnome org, Olaf Jan Schmidt <ojschmidt kde org>, accessibility-atspi freestandards org, Bill Haneman <Bill Haneman sun com>, Harald Fernengel <harald trolltech com>, Michael Meeks <michael meeks novell com>
- Subject: Re: [g-a-devel] [Accessibility-atspi] AT-SPI and D-Bus
- Date: Mon, 07 Aug 2006 18:34:15 +0100
Hi Gunnar,
On Fri, 2006-08-04 at 14:59 +0200, Gunnar Schmi Dt wrote:
> 1. Usually use the Qt event loop and only call the glib mainloop if you
> know that something in ATK needs to be processed.
Yes - that sucks ;-)
> 2. Let Qt 4.x run in the glib mainloop.
This is the way to do it.
> This way you only have one main loop, so that you do not need to know when
> to call the glib mainloop. Instead there are other problems. If what I
> heard is correct, then there is no way in glib to disable a timer, and it
> is an expensive operation to create or destroy a given timer.
Hmm - sounds strange to me.
> The problem with that is that Qt makes heavy use of QTimers (which
> _can_ be disabled, so that they do no longer fire events), so there
> you have performance problems.
Is there really a profile that actually shows any performance problem
here ? premature optimisation is the root of many evils.
However - if there genuinely is a problem here, then of course - it's
rather trivial to write a new GSource that implements a disable-able
timer :-) Having written several I'd be happy to help - though naturally
it'd be useful to understand the real problem. Of course if you're using
the rather cheesy g_timer_add API you'll have issues ;-)
Of course, I'd love to see Qt using the glib mainloop to improve
integration between the desktops in the long run across the board.
So - onto the separate issue of what transport is used (yes atk implies
the glib mainloop for event emission); it's also likely that we need to
abstract / push some toolkit locking down into glib / atk to get a
robust solution for all (at some stage).
Anyhow - this aside - I guess it's best for KDE to implement the atk
APIs, and do the mainloop integration - and ignore the CORBA piece until
it goes away :-) It shouldn't be difficult to bridge Qt to the GObject
interfaces I think.
As for the suitability of D-BUS, however unsuitable ORBit2 may, or may
not be - D-BUS is (at present) far less suitable.
eg. the introspection mechanism (as I understand it) would instantly
cripple ORCA (and all dynamically bound AT's) wrt. perfomance; the lack
of a clear 'Object' concept for anonymous objects, not having an IDL
compiler, poor glib bindings, hopeless deployment / standardization
status etc. - the list goes on ;-) [ and yes, I like D-BUS as much as
the next guy, but it's just not ready yet ].
HTH,
Michael.
--
michael meeks novell com <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]