toggle quoted messageShow quoted text
Actually, way less than 90 percent is unused because one must think about the following kinds of software a processor can be told to run:
- Operating system (a typical operating system consists of thousands of components packaged inside a single block (monolithic kernel) or separated into programs (microkernel)) that performs all sorts of tasks in the background)
- Device drivers (this includes software drivers such as virtual hardware interfaces)
- Firmware (believe it or not, UEFI and friends do leave remnants of themselves in memory so operating systems can query them for really low-level information)
- Application software (typical programs, together with components needed to run them)
In theory, it can be assumed that low usage sort of equates to around 5 percent in modern processors, but that’s because programmers and hardware designers spent years optimizing software and hardware to achieve this level of efficiency. Although increasing number of cores may have helped, the fundamental issue of making programs run more efficiently is a hotly contested problem that is still studied by undergraduate engineering students.
firstname.lastname@example.org <email@example.com> On Behalf Of
Sunday, May 16, 2021 5:33 PMTo:
Re: [nvda] NVDA running on a budget laptop
I can’t tell if and to what extent you are disagreeing with me. I’m saying the following though I may not have expressed it clearly:
I don’t think that that amount of resource use is anything to worry about. There is still ninety percent unused. And as I said, I haven’t heard complaints from tablet users that NVDA doesn’t work well on them. I would expect resource use to be much higher on tablets.
I agree that NVDA resource use is separate than synthesizer use. My point is that the newer synthesizers require much more computing power to work efficiently than Eloquence or E-speak.
Sent: Sunday, May 16, 2021 7:21 PM
Subject: Re: [nvda] NVDA running on a budget laptop
Enes’s claim is understandable, considering that:
- Speech synthesizers do require resources such as CPU to translate text into speech using whatever rules manufacturers and users define.
- Most NVDA components run on top of a Python interpreter. This means in order to perform screen reading operations, Python interpreter must be willing to process screen reader instructions on top of housekeeping tasks such as garbage collection. Some NVDA components are written in C++ for faster performance and communication with apps, but still Python is invoked for housekeeping operations.
- NVDA must talk to many “people” i.e. API’s and apps at once. Although folks spent years optimizing accessibility API’s and communication between apps (in computer science, this whole thing is termed “inter-process communication”), communication with API’s and apps is still an expensive step that involves processors switching between running app and system codes. If it takes some time to send and receive messages between two 32-bit programs, imagine how long it will take for a 32-bit app such as NVDA to get useful info out of 64-bit apps (this involves formatting bits in a way that allows these two programs to eventually communicate through an intermediary called WoW64).
One important clarification: let us not equate screen readers to text-to-speech engines (don’t confuse between the two). Although TTS does contribute to screen reading performance (namely rules used to translate text into waveforms or hardware signals), what’s more important in this overall context (screen readers running on a class of hardware) is how efficient screen reading instructions can get, keeping in mind that NVDA is running on top of an interpreter. There are limits as to how power efficient an algorithm can become, as the overall limit is optimizations from the host (in NVDA’s case, not only optimizations from Windows, but also ongoing optimization work done by Python core developers and third-party library/C extension authors). Also, although not addressed here, you can’t just state that making screen readers multi-core aware will bring improvements – it depends on years of effort spent on parallelization and optimizing the screen reader to not only take advantage of at least two cores at once, but also to make itself more efficient when running as a multi-core aware application (power draw from a single core versus multiple cores does play a part here); I have learned the hard way that you will face more unexpected bugs when you make a program run with multiple threads and hardware cores.
I'm sorry. 6-10% CPU power is alot of system resources.
On 5/16/2021 11:50 AM, Gene wrote:
Nothing I’ve seen convinces me that NVDA itself uses a lot of computing power. nor have I seen this with screen-readers in general to the small extent I’ve checked. Its using the newer synthesizers that uses a lot of computing ;power. If you want to use the newer voices, I can’t comment on the minimum specifications to get good performance but in the old days, I had machines that today would be laughably underpowered, running Windows 95 and Windows 3.1 and Via Voice, very similar to Eloquence, ran well. This was in a 166MHZ, not GHZ, Pentium machine and in an even older and less powerful machine running Windows 3.1.
As for NVDA using a lot of computing power, if I monitor use when I’m typing text with carachter echo on in the Windows Task manager, I get low numbers. I just checked and while moving up and down the list in task manager, then pressing f5 to refresh the screen, I get a 6 percent CPU reading. When typing in this e-mail message, alt tabbing immediately to the task manager and refreshing the screen, I get a 10 percent usage reading.
I’m not saying there won’t be variations, but those figures are close to what I generally get when I test doing these things.
And I haven’t seen complaints about the performance of NVDA from people using tablets.
Sent: Sunday, May 16, 2021 7:20 AM
Subject: Re: [nvda] NVDA running on a budget laptop
I would do a minimum of 8gb of ram, and a current gen i5/r5. That is as low as you should go. Even with those specs, NVDA is heavy on CPU usage.
On 5/15/2021 7:36 PM, Brian Vogel wrote:
Personally, I would not even consider running Windows 10 with less than 8 GB of RAM. Nor would I consider a Celeron processor, for anything, these days.
I'd invest a bit more for additional memory and a better processor. You might also consider a refurbished business-class laptop, which can be had at very reasonable prices (or at least could prior to the pandemic - everything's getting more expensive as supply is constrained).
Brian - Windows 10 Pro, 64-Bit, Version 20H2, Build 19042
Always remember others may hate you but those who hate you don't win unless you hate them. And then you destroy yourself.
~ Richard M. Nixon