Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table navigation in word is slow with this document. #5750

Closed
derekriemer opened this issue Feb 13, 2016 · 6 comments
Closed

Table navigation in word is slow with this document. #5750

derekriemer opened this issue Feb 13, 2016 · 6 comments
Labels
app/microsoft-office close/worksforme p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority performance

Comments

@derekriemer
Copy link
Collaborator

I will send a document privately (It has links in it to materials from a class that I don't have copyright permission to distribute). The issues I am experiencing are outlined below.

  1. Open the document (either one works, but the schedule I excerpted from the syllabus is worse).
  2. go to one of the tables with data in it (the headers are formatted in a separate area).
  3. Move around for a while, until NVDA starts to slow down. I am running next. This will in some documents with tables happen almost after like 10 seconds of using navigational commands like table nav and the arrow keys, and in others it may take a few minutes of reading.
  4. Keep moving around. NVDA should start slowing down quite badly, sometimes hanging for over a half a second.
  5. When this happens, restart nvda. Notice how the problem fixes itself. This makes me think it is a memory issue or something of that nature.

If this is not detailed enough, please let me know and I can try and provide more details as debugging this may be different on certain configurations.
For the records, I am running Windows 8.1 Word 2013 NVDA Next. on a computer with 8 gig of ram and an I5 duel core with a 64 bit windows. The machine is about 3 years old.

@LeonarddeR
Copy link
Collaborator

I belief that this is an issue more general for table navigation in NVDA> Attached is a file containing a table with only 12 rows and 4 columns, but it drivers my NVDA entirely crazy. I'd be great if this and other performance related issues in Office can receive the highest priority possible.

Here is the example

@LeonarddeR
Copy link
Collaborator

Thanks to @derekriemer for putting me on the right track. Here is some performance data regarding table navigation, which will probably have major impact on other ways of navigating in Word.

str:

  1. Set the desired options in NVDA
  2. Open the document above
  3. Python console: import logHandler; logHandler.log.handlers[0].formatter.datefmt = None
  4. In the document, press ctrl+alt+right arrow
  5. After reading, press ctrl+alt+left arrow

Below are results for the time between keypress and speech

Pages, spelling and track changes disabled

  • Time between keypress and output: 188 and 213 ms

Only Pages enabled

  • Time between keypress and output: 639 and 712ms

Pages and tracking changes enabled

  • Time between keypress and output: 1361 and 1754ms

Pages, spelling and track changes enabled

  • Time between keypress and output: 4628 and 7838 ms

Here is the relevant log data.

Please note that especially reporting of spelling errors has major negative impact on Word performance here.
CC @jcsteh, @bramd, @michaelDCurran, @feerrenrut

@feerrenrut
Copy link
Contributor

Thanks for the investigation. The next step will be trying to narrow down how / why these features cause such a performance hit. Bear in mind there is the nvdaHelper\common\PerfTimer.h file that will help with profiling select parts of the C++ code. Key places to look would be the winword_getTextInRange_helper function in winword.cpp. That said, we should confirm that it is indeed the C++ code that is causing the slowdown first.

I will assign this P2, there are a few other related issues, and it seems like it can be quite severe. If there is something that we can do to get a performance increase here we should look into it. At the very least we should document the cause of the performance problem once we understand.

@LeonarddeR Are you happy to keep looking into this?

@feerrenrut feerrenrut added app/microsoft-office p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority performance labels Apr 11, 2017
@bhavyashah
Copy link

@LeonarddeR As requested by @feerrenrut in #5750 (comment), would you be able to look into these slowdowns further? Please share updated findings, if any. Also, CC @Qchristensen for any leads.

@LeonarddeR
Copy link
Collaborator

@LeonarddeR As requested by @feerrenrut in #5750 (comment), would you be able to look into these slowdowns further? Please share updated findings, if any.

I'm afraid it is just the object model being ridiculously sluggish. May be we should change the Word TextInfo in such a way that it respects the "Report formatting changes after the cursor" setting.
Having said that, I will have a look at winword_getTextInRange_helper

@Adriani90
Copy link
Collaborator

With NVDA 2023.2, I get an average of 0.060 sec time since input even with reporting of pages enabled when arrowing in the example document. so the performance has improved significantly in NVDA 2023.2. I am closing this issue as works for me, but feel free to comment on it if you are still having significant performance issues with this example document, or upload a new example document and we can reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/microsoft-office close/worksforme p3 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority performance
Projects
None yet
Development

No branches or pull requests

5 participants