Hi, 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 term. 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. Cheers, Joseph
-----Original Message----- From: JAWS-Users-List <jaws-users-list-boun...@jaws-users.com> On Behalf Of JM Casey Sent: Saturday, March 10, 2018 12:24 PM To: jaws-users-list@jaws-users.com 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 does. -----Original Message----- From: JAWS-Users-List [mailto:jaws-users-list-boun...@jaws-users.com] On Behalf Of john_just...@verizon.net Sent: March 10, 2018 10:17 AM To: jaws-users-list@jaws-users.com 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 have. 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 seconds. 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. JOHN AND LINDA JUSTICE WITH GUIDE DOGS EDWIN AND CALYPSOE PERSONAL E-MAIL: john_just...@verizon.net -----Original Message----- From: JAWS-Users-List <jaws-users-list-boun...@jaws-users.com> On Behalf Of Mike Mote Sent: Thursday, March 8, 2018 11:18 AM To: jaws-users-list@jaws-users.com 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 <http://www.ifbsolutions.org/> www.ifbsolutions.org Email <mailto:mm...@ifbsolutions.org> mm...@ifbsolutions.org 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: http://www.jaws-users.com/help/ For answers to frequently asked questions about this list visit: http://www.jaws-users.com/help/ For answers to frequently asked questions about this list visit: http://www.jaws-users.com/help/ For answers to frequently asked questions about this list visit: http://www.jaws-users.com/help/