Re: [orca-list] Misteries of low performance of Orca and distros



Alex, just a correction. NVDA is written almost purely in Python as is
Orca. Since NVDA is written in Python and is relatively responsive I
think Luke's on the right path in targeting the accessibility
infrastructure itself for the responce and lag issues with Orca. NVDA
primarily works by capturing Windows messages and events and
converting them to spoken output. Orca on the other hand has to go
through at-spi to find out what is going on with a certain app and we
get this hourglass design with the apps and desktop on one side and
Orca on the other with at-spi acting as the middleman. No doubt this
causes some lag because there is no way to easily poll events and
system messages like on Windows.

In fact, as I recall the first screen reader for Gnome, Gnopernicus,
wasn't all that responsive either and it was written in C. That said,
I have wondered how much of a performence boost we would get if
someone rewrote Orca in C or C++ and compiled native binaries for
Linux.

Cheers!


On 7/30/13, Alex Midence <alex midence gmail com> wrote:
That was a fascinating post!  As to what lengths developers of windows
screen readers go to to make their product more responsive, the only thing
(and this is a guess, mind you) which comes to my mind is the choice of
programming language.  The infrastructure of the program is written in a
compiled language like C or C++ and an interpreted language is used for
customization i.e. scripting.  Jaws, for instance, is written in c++ and
uses its own, in-house interpreted language called jaws scripting language
for customization.  Window Eyes uses c++ for the code and can use stuff
like
visual basic or, in some cases, I seem to recall seeing Perl for scripting.
NVDA does same thing, c++ for infrastructure and Python for scripting.
Orca, on the other hand, appears to be written entirely in Python as are
lots of other accessibility components from what I was able to gather.  I
don't know how much difference this makes but, this is the best guess I can
come up with for the difference.  Manpower is another factor but, NVDA
doesn't seem to have the amount of people working on it that I'd imagine a
commercially produced program like JFW and Window Eyes would have.  There's
another screen reader out there which is called Access to Go or something
like that and then there's Supernova which has a screen reading component.
I know very little about these products so can't say how they do things.


Regards,
Alex M


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]