Thank you, Joseph, for the thoughtful explanation and considerations
outlined in this post. All of this makes sense to me. I would like to
understand more, but I'm not a programmer and would probably be out of my
depth. I appreciate you taking the time to discuss this issue.

-----Original Message-----
From: JAWS-Users-List [] On
Behalf Of Joseph Lee
Sent: March 10, 2018 5:22 PM
Subject: Re: [JAWS-Users] JAWS freezing when switching between programs

Thread priority has to do with letting processors run a specific thread for
a while despite requests from other threads to run. A good analogy is
priority boarding at airports where those booked the first class cabin are
boarded before others.
In operating system design and architecture, a process may contain multiple
threads. Here, a process refers to a container of program code, data needed
by a program, resources being used, as well as other state information an
operating system uses to keep track of things such as if the process is
ready to run, ready to die, and other information. One of the information
tracked by operating systems (more specifically, operating system kernels)
is how many threads are inside a given process and what priority levels they
are assigned to, and each process requires at least one thread to run. On
Windows (more specifically, Windows NT), a process may contain more than one
thread, especially if they are GUI applications such as JAWS (jfw.exe), with
each thread responsible for running either the main code, hold a window
ready for user interaction, spawn by other threads and what not.
As for increasing thread priority and resulting responsiveness, I doubt that
would solve the overall problem. Although it'll let Windows allocate more
running time to threads inside JAWS process, it is a partial solution. In
order for a screen reader to stay responsive, it must make sure it gets
whatever it needs from apps on time, otherwise it'll get stuck trying to
obtain useful data for you. This is more so if there are many threads
competing for processor resources (because processor time is a precious
resource when looking inside silicon), hence possibly contributing to slower
responsiveness, not the other way around as an idealist would say. And no,
it isn't just JAWS that gets stuck - the program you are using may appear to
slow down, as well as other actors such as accessibility API bridge
libraries, other tasks and what not, hence my thinking that increasing
thread priority for JAWS isn't a good solution that'll work in the long
As for JAWS becoming less responsive as time goes on: there might be
numerous contributing factors. One possible factor is possible memory leak
or lax resource accountability in one or more threads. If JAWS keeps eating
something but fails to release things it no longer needs, it may lead to
slower responsiveness. One way to look at it is memory usage for jfw.exe -
if you use JAWS for hours and it appears memory usage by the screen reader
process keeps increasing, chances are that there's a more serious resource
management problem in screen reader code, especially in one or more modules
responsible for keeping track of various info such as accessibility state,
display handling and what not. Also, when it comes to accessibility API
handling, not all API's offer ways to make screen readers (or clients) stay
responsive - one good example is UIA and resource starvation problem
observed not only by JAWS users on Windows 10, but also by users of another
screen reader, usually caused by one thread trying to handle a flood of
accessibility events or the API bridge (in this case, UIAutomationCore.dll)
getting stuck somehow.
So what is a solution to this problem? We don't know yet, as it may involve
collaborative effort between Microsoft, VFO, app vendors and users.
If anyone is curious about how UIA internally works or have questions about
UIA and resource starvation problem, or want more explanation regarding
accessibility API's (complete with source code), write to me offlist.

-----Original Message-----
From: JAWS-Users-List <> On Behalf Of
JM Casey
Sent: Saturday, March 10, 2018 12:24 PM
Subject: Re: [JAWS-Users] JAWS freezing when switching between programs

That's most interesting, and mostly makes sense.

No. 3 is automated by the oS and not generally something anyone has to worry
about. It should be possible to give JAWS a higher priority in the system
merely through task manager or process explorer. I want to read up on this
more though as I'm not 100% sure exactly what thread priority assignment

-----Original Message-----
From: JAWS-Users-List [] On
Behalf Of
Sent: March 10, 2018 10:17 AM
Subject: Re: [JAWS-Users] JAWS freezing when switching between programs

Hello Mike,
John Justice, here.
I work for the state and use configurations which are similar to the ones
you describe.

In the interest of correcting the problem, I brought it to the attention of
our upper level Access group.  Their explanation doesn't solve any issues
but it might give you food for thought.

 1. THE ISSUE AT HAND:  apparently, what we are experiencing is the
assignment of RAM.  Current versions of Jaws tend to utilize a considerable
amount of RAM, especially when changing from one software environment to
another.  The result is that the system has to {wait} for enough RAM  to
perform the function.
2. PROGRAM PRIORITY ASSIGNMENT:  It is possible to assign certain programs
on a PC so that they have a priority when RAM is distributed. This is way
beyond my pay grade Mike but apparently, within reason, certain programs can
be allowed to operate at the expense of others, at least temporarily. There
are exceptions to this rule and certain pieces of software are assigned a
permanent top priority.  I imagine that the Windows operating system might
have that kind of assignment.
3.  According to our A. T. department, reassignment involves the division of
RAM  into smaller compartments which then handle this function.  The entire
process scares the heck out of me.  It isn't something I'd want to attempt.
There might be someone on our list with more technological knowledge than I
4.  A WORKING SOLUTION:  I am now operating two computers simultaneously.
One is dedicated to some of the functions I need while the second unit
handles primary functions.  For example, I use the secondary unit to load
and display Excel spreadsheets.  But even with that arrangement, certain
pieces of software will temporarily shut down Jaws until they are fully
loaded.  The down time has been measured  and it is usually approximately32
5.  CREATING HOTKEYS FOR RELOADING JAWS:  Finally, we have established
hotkeys which can be used to encourage Jaws to restart.  Occasionally,
though rarely, Jaws wil not restart after one of these incidents.  We use
three key combinations which are dedicated to reactivating Jaws.  

The entire thing is frustrating to say the least, Mike.  But it's something
we just put up with since jaws performs so well in most other respects.


-----Original Message-----
From: JAWS-Users-List <> On Behalf Of
Mike Mote
Sent: Thursday, March 8, 2018 11:18 AM
Subject: [JAWS-Users] JAWS freezing when switching between programs

Good morning all!  I'm trying to help with one of our employees here at work
on an issue where JAWS freezes unexpectedly when switching from one window
to another using the Alt Tab key.  The issue is difficult to resolve because
it doesn't happen every time he switches windows.  It does happen two to
three times a day on average, and is hindering his efforts to perform his
job.  I have offered several solutions, but nothing has worked yet.  When
JAWS freezes, he has to wait some 30 seconds before speech comes back.  

I wanted to reach out to the list to see if any of you had any ideas as to
how I could minimize this behavior.  I would appreciate any feedback.
Thanks very much!




Mike Mote 

Manager of Accessibility and Workforce Development, Human Resources

IFB Solutions

Our Vision is Working - see more at  <> 

Email  <>

Work Phone (336) 245-5650

Mobile Phone (336) 793-6006

Shipping:  7730 North Point Dr

Winston-Salem, NC 27106


*Large font facilitates reading for people with low vision


For answers to frequently asked questions about this list visit:

For answers to frequently asked questions about this list visit:

For answers to frequently asked questions about this list visit:

For answers to frequently asked questions about this list visit:

For answers to frequently asked questions about this list visit:

Reply via email to