Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 VA 2393: Performance issue with find references
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

kcbanner
New Member

Canada
9 Posts

Posted - Nov 06 2020 :  11:46:34 AM  Show Profile  Reply with Quote
Hello,

After upgrading to 2393, Find References began working very slowly. In a large UE4 project, it starting taking minutes before results would appear in the dialog. Sometimes it appears just to stall and not have any results. I downgraded to 2389 and the issue went away (results started appearing in seconds).

I experimented with the threading settings, but nothing seems to fix this on 2393, it seems like performance regressed in this version.

Version details (after downgrade to 10.9.2389.0):


VA_X.dll file version 10.9.2389.0 built 2020.09.03
DevEnv.exe version 16.6.30320.27 Community
msenv.dll version 16.0.30309.148
Comctl32.dll version 6.10.19041.488
Windows 10 10.0 2004 Build 19041.572 
8 processors (x86-64, WOW64)
Language info: 1252, 0x409

Platform: Project defined
Stable Includes:
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\UnitTest\include;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\atlmfc\include;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include;
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.2\include\um;
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt;
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared;
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um;
C:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\DIA SDK\include;
C:\Program Files\Common Files;

Other Includes:

Stable Source Directories:
C:\Program Files (x86)\Windows Kits\10\Source\10.0.18362.0\ucrt;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\src;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\crt\src;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\atlmfc\src\atl;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\atlmfc\src\mfcm;
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\atlmfc\src\mfc;


ChrisG
Whole Tomato Software

USA
220 Posts

Posted - Nov 08 2020 :  7:50:58 PM  Show Profile  Reply with Quote
Was there a particular symbol that you recall was giving you issues?
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17021 Posts

Posted - Nov 09 2020 :  06:40:27 AM  Show Profile  Reply with Quote
Also, did you edit your stable include directories list before posting it here? Or do you have Unreal Engine support turned off?

VA Options -> Unreal Engine -> Enable support for Unreal Engine 4
When a solution contains a project named UE4
Always

I ask because if Unreal Engine support is picking up that you are working with Unreal Engine correctly, and is turned On, then all of the sub-directories inside your Unreal Engine directory tree should have been added to your stable include directories.

However, if these settings haven't changed then this shouldn't be a factor. It might be worth looking at fixing this after we look at the slow find references though.

zen is the art of being at one with the two'ness
Go to Top of Page

kcbanner
New Member

Canada
9 Posts

Posted - Nov 09 2020 :  12:47:11 PM  Show Profile  Reply with Quote
The symbol in this case was UNetConnection::InternalAck. Unreal Engine support is turned on in both versions.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17021 Posts

Posted - Nov 09 2020 :  2:33:07 PM  Show Profile  Reply with Quote
Unfortunately no sign of this problem here for me, using VS2019 and VA 2393.0. Find References works normally for me. Once you have some Find References results, if you right click in the results window, do you have:

Display references from all projects

turned On or Off? Does changing this setting make any difference?

It is possible that getting VA Unreal Engine support working correctly will help here, but that doesn't explain the recent change in how VA works here.

Which directory and drive is Unreal Engine installed to? I am guessing that if it is installed to C drive it is not installed under

C:\Program Files\Epic Games\

zen is the art of being at one with the two'ness
Go to Top of Page

kcbanner
New Member

Canada
9 Posts

Posted - Nov 20 2020 :  12:59:49 PM  Show Profile  Reply with Quote
I usually leave "Display references from all projects" off unless I am specifically searching for something across our game and the engine. I tried with both in this case.

UE4 is inline with the repository for our game - so it's in `E:\Workspace\<WorkspaceName>\Engine`. I can test this again and manually add those directories to static includes.

Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17021 Posts

Posted - Nov 20 2020 :  1:32:33 PM  Show Profile  Reply with Quote
There is currently a known problem that VA doesn't detect the Unreal Engine directory tree as Unreal Engine if it is installed outside of:

C:\Program Files
which may well be a factor here. To work around this we can use a Windows file system junction point. Can you please:

Create the directory

C:\Program Files\Epic Games
Open a command prompt inside this directory, and run the command:

mklink /J UE_4.25 "E:\Workspace\<WorkspaceName>\Engine"

Where the second path is the directory where you have installed / placed Unreal Engine. This will create a directory link inside the Windows file system, so while Unreal Engine will appear to exist inside this Program Files sub-directory, is still where it was originally installed.

Now make sure all instances of the IDE are closed, and then go into the directory that holds your game solution. From here you should find in the following files:

Intermediate\ProjectFiles\UE4.vcxproj
Intermediate\ProjectFiles\UE4.vcxproj.filters

Open both files in a text editor, and do a search and replace for the old Unreal Engine path to the new Unreal Engine path, so in this case search

"E:\Workspace\<WorkspaceName>\Engine\"

And turn all instances into:

"C:\Program Files\Epic Games\UE_4.25\"

Save the changes and now reload the IDE and your solution. Now if you look at the VA stable include directories in the VA Options dialog, all of the sub-directories inside your UE engine directory tree should be listed, via the C drive junction point path.

This should get VA's Unreal Engine support working much more reliably for you, on your system. Hopefully it will also fix the problem with Find References.

zen is the art of being at one with the two'ness
Go to Top of Page

kcbanner
New Member

Canada
9 Posts

Posted - Nov 20 2020 :  1:49:59 PM  Show Profile  Reply with Quote
Ah I see!

I tried the symlink, but I didn't get the include directories showing up inside in the VA options dialog. I think it may be because since our vcxproj files are in E:\Workspace\<WorkspaceName>\Engine\Intermediate\ProjectFiles\, everything is defined relatively to that, not an absolute path to the engine.

ie: <ClCompile Include="..\..\Source\Some\Engine\File.cpp"/>
Go to Top of Page

kcbanner
New Member

Canada
9 Posts

Posted - Nov 20 2020 :  2:02:12 PM  Show Profile  Reply with Quote
I was able to add the symlink directory under "Custom" in C/C++ Directories, and this does seem to help with the issue.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
17021 Posts

Posted - Nov 23 2020 :  10:12:37 AM  Show Profile  Reply with Quote
Thank you for the update. I am not sure why your Find References performance changed with a different version of VA though, that is odd.

Is everything now working correctly for you? You should also be seeing VA suggestions for Unreal Engine now, which may not have been working correctly before:

https://docs.wholetomato.com/default.asp?W812

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000