Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 Visual Studio 16.9.3 Replace All slowdown

You must be registered to post a reply.
Click here to register.

Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji

Forum code is on.
Html is off.

Check to subscribe to this topic.

T O P I C    R E V I E W
KRG Posted - Apr 03 2021 : 11:45:18 AM
So it seems with the latest VS update, the find and replace all in a single file is unbearable slow due to VAX. Disabling VAX bring performance back to what is expected.

Repro is simply, just open a largish code file, hit ctrl-h and try replace all occurrences of some text.

I took a quick profile and this is what I'm seeing:

Thousands of calls to: WholeTomatoSoftware.VisualAssist.NavBar.VaCodeWindowMargin.OnWindowPositionChanged - each taking 1ms

I would upload a screenshot from the profile capture but I cant seem to upload images to this forum.

Can you please fix this?

10   L A T E S T    R E P L I E S    (Newest First)
ChrisG Posted - Apr 07 2021 : 8:55:16 PM
It does. It will help us reproduce the problem. Thank you, KRG.
KRG Posted - Apr 07 2021 : 8:54:30 PM
That's exactly the issue, at 60hz it's as expected (~1s) at 165hz it takes up to a minute. Hope that helps to get it fixed.
ChrisG Posted - Apr 07 2021 : 6:57:15 PM
It's only a hunch but it could be related. Could you please try and reproduce with a 60hz refresh rate? Windows should allow you to manually set a refresh rate in the advanced display settings.
KRG Posted - Apr 07 2021 : 2:38:54 PM
Yeh, I do actually, a 165hz one...

hahaha, I think can see where this is going and what would be hilarious if its the cause...

ChrisG Posted - Apr 07 2021 : 09:50:54 AM
This may sound like an odd question, but do you have a greater than 60hz refresh rate monitor?
KRG Posted - Apr 07 2021 : 09:48:10 AM
I will try that.

Did you look at the profile screenshot at all? VAX seems to think that while the modal dialog box is open, VAX thinks the layout is constantly changing so is recreating its nav windows. Maybe this is due to some change in VS with the latest update but most of the time is spent recreating the VAX windows. I'm doubtful that my profile settings will affect that, but I'll give it a try anyways.

I've already disabled and re-enabled VAX via the extension menu to no effect. Will try with the test profile now...
feline Posted - Apr 07 2021 : 07:13:30 AM
Other people have also confirmed that disabling VA fixes the performance problem they are seeing, but so far we don't understand what is causing these problems.

Clearly file size isn't a factor, which is odd.

Can you please try making a new, default solution, and see if you get the same problem there? I suspect you will, but sometimes problems are solution specific, so I just want to check this.

As a second test, can you please go to:

IDE Extensions menu -> Manage Extensions

and locate Visual Assist in your list of installed extensions. Select Visual Assist and disable it. This will require an IDE restart to take effect. After the restart, please return to this dialog and Enable Visual Assist again. Sometimes when installing an IDE update there can be problems with extensions, and this normally fixes any problems, so it might help here.

If this doesn't help can you please close all instances of the IDE and then run the command:

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /RootSuffix VATest

this will create and load a new, default profile for Visual Studio, so you will be asked which basic settings you want to use, and you should only have the standard, default IDE extensions installed. Visual Assist will not be installed into this profile, so you will need to go into the dialog:

IDE Extensions menu -> Manage Extensions

and install Visual Assist from the online extension store, to install VA for this test profile.

To load your normal, default profile just load the IDE normally. To return to this test profile again, pass the /RootSuffix command line switch when loading the IDE. You can run both profiles at the same time, next to each other. In VS2019 the profile name will be shown just under the close button, in the top right hand corner of the main IDE window. If you export your IDE settings from your main profile you can them import them into the test profile.

Does loading your solution in the test profile have any effect on this performance problem? I am hoping it will fix the problem, so at least we know that the trigger is something profile specific.
KRG Posted - Apr 06 2021 : 7:52:56 PM
I'm working in C++ with 16.9.3... I have a profile with a capture clearly highlighting VAX is the issue. This happens even in small files with only a dozen lines of code.

There are literally non-stop calls to WholeTomatoSoftware.VisualAssist.NavBar.VaCodeWindowMargin.OnWindowPositionChanged for 30+ seconds, each one take upwards of a 1ms. I can send screenshots of the capture to your support email if that would help.

It's only with 16.9.3, it was fine before.

Actually I have a screenshot in a tweet: https://twitter.com/Bobby_Anguelov/status/1378373896311816194?s=20

feline Posted - Apr 06 2021 : 07:47:46 AM
I have just updated to VS2019 version 16.9.3, and no difference in speed. If anything, the Ctrl-H find and replace was actually a bit faster.

I have seen several recent reports of performance problems with the latest versions of VS2019, clearly related to VA, so something is going on here, but so far I have not been able to reproduce them here, or pin down what is going on.

One user has reported that turning Off IDE code analysis fixed a lot of their performance problems, but this seems to be a .NET specific setting:

feline Posted - Apr 06 2021 : 07:30:42 AM
Which version of VA are you using?

Which programming language are you working in? More specifically, are you using .NET?

How large a file do you mean by large?

I have just tested this here, in a LARGE .cpp file, 23,000 lines long, 905 occurrences were replaced with Ctrl-H, it took a about 1 second.

This is with VS2019 version 16.9.2 and VA 2399. I am looking for the VS2019 update now, to see if this makes any difference to the speed.

© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000