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
 Extremely slow search performance in 10.9.2522.0
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 21 2024 :  5:41:13 PM  Show Profile  Reply with Quote
In the latest version of VA_X, I'm seeing extremely slow search performance. This is a typical Unreal Engine project.

For example, a typical search that would complete almost instantly will sometimes take upwards of 10 minutes to complete. During this time, the text "VA: Creating instance of template" appears with thousands of different type names, most of which don't really make sense together.

During this time, the "Stop" button is unresponsive. Clicking it can take upwards of 30 seconds to stop the search. This is very frustrating and I usually end up toggling to a different tool to simply grep the codebase.

Version info:

VA_X.dll file version 10.9.2522.0 built 2024.05.31
DevEnv.exe version 16.11.32228.343 Community


electr
Starting Member

Korea
1 Posts

Posted - Jun 22 2024 :  12:12:52 AM  Show Profile  Reply with Quote
"I am using VS2019 C++ and am experiencing the same issue. When I disable Visual Assist in Extensions and then perform a search, there are no problems."

Park
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 24 2024 :  07:16:14 AM  Show Profile  Reply with Quote
kcbanner which version of Unreal Engine are you using? Sometimes this matters.

Are you seeing this problem with Find References searches on all symbols, or only some symbols? I would assume this problem only shows up on some symbols, but not others. For example running Find References on a local variable of a simple type will hopefully return results instantly. Are you seeing this with symbols from inside UE its self? Or is it only happening with symbols defined in your project?

Can you give me some example symbols from UE that show the problem for you, so I can run some tests here?

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

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 24 2024 :  07:17:42 AM  Show Profile  Reply with Quote
electr what are you doing? Since you are disabling VA you cannot be doing a VA Find References search, so are you instead doing an IDE find in files?

Does simply turning off VA via:

VAssistX -> Enable/Disable Visual Assist X

make any difference?

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

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 24 2024 :  2:26:19 PM  Show Profile  Reply with Quote
I'm using UE 4.24.3 in this case.

The behaviour does not happen consistently with symbol types.

For example consider this pseudo-code (not UE code, just code in our project):


	for (FExampleStruct& Info : Infos)
	{
		if (Info != Foo && Info != Bar)
		{
			SelectedInfo = Info;
		}
	}


The problem can occur on `SelectedInfo` (member variable) and `Info` (local variable). I've also seen it occur on enum values as well, for example on an enum literal right after the `case` in a switch statement.

The reason I saw "can" occur is that it's not consistent. I could search with my cursor on `Info` above and it will complete instantly. Then I can hit the keyboard shortcut again, and it will (seemingly randomly) start doing the "Creating instance of template" status bar spam behaviour, and become unresponsive.

I could then switch to say `Infos` and it would be very slow (creating instance of template), and then repeat the same search and have it complete instantly.

If you "prime" it by searching repeatedly on the same symbol multiple times, it can get into a state where the bug stops happening. Switching symbols can then trigger it to start happening again.

Go to Top of Page

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 24 2024 :  2:29:18 PM  Show Profile  Reply with Quote
To answer your question about a specific UE symbol, I just opened Texture.h and searched while my cursor was on the `TextureCompressionSettings` in `enum TextureCompressionSettings` and experienced the slow behaviour. I then searched again and it was fast.

It seems to me like VA is deciding to re-index or re-build some kind of data structure (assuming this is what creating instance of template means). It then seems that somehow whatever data structure it builds doing this is deleted / removed from the cache, because searches for that same symbol will exhibit the "rebuild" behaviour at a later time.
Go to Top of Page

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 24 2024 :  3:32:56 PM  Show Profile  Reply with Quote
One more piece of information. The text displayed in the instance template message doesn't make sense sometimes, maybe this is a hint at what's going on:

`VA: Creating instance of template :FMath:IsPowerOfTwo<int32> rererereteFlagteFlagteFlagteFlagteFlagteFlagte`

Hundreds / thousands of these kinds of messages flash by when this is happening. This specific case occurred when using find references on a parameter of a method, inside the cpp file. FMath::IsPowerOfTwo was not referenced in this method. Searching for the references of the method parameter of this ~100 lines method took 20+ seconds. Subsequent searches were still slow.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 25 2024 :  07:50:09 AM  Show Profile  Reply with Quote
The UE version is interesting, and might be a clue, along with the fact that this seems to be related to templates.

There is a regression with Find References in VA 2520, which so far I have only been able to reproduce reliably in UE 4.20, but not in UE 4.27 or UE 5.x, but I didn't check versions between 4.20 and 4.27. So you could be running into a version of this bug:

case=164595

Can you please try uninstalling VA, which can be done via:

IDE Extensions menu -> Manage Extensions

and then installing VA 2515, which doesn't have this regression, to see if this fixes the problem:

https://www.wholetomato.com/downloads/getBuild?2515

If this does help then this will suggest you are seeing the same problem.

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

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 25 2024 :  5:52:48 PM  Show Profile  Reply with Quote
I've just tried 2515, and search performance seems back to normal now - I haven't seen the template instance issue - I'll keep you posted if it occurs on this version. Thanks!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 26 2024 :  06:57:51 AM  Show Profile  Reply with Quote
Thank you for checking this. This does suggest that you were seeing the same problem, just not quite so seriously. The original bug report was that Find References was crashing the IDE. The only upside is that it was only showing up on older, and hopefully less widely used, versions of Unreal Engine. We have a fix for this internally, and it should be part of the next release.

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

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 26 2024 :  10:47:13 AM  Show Profile  Reply with Quote
Sounds good, thanks!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 26 2024 :  12:34:55 PM  Show Profile  Reply with Quote
It turns out VA 2528 has just been released, which contains the bug fix. Hopefully downloading and installing this version will fix the problem for you:

http://www.wholetomato.com/downloads

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

kcbanner
Junior Member

Canada
19 Posts

Posted - Jun 26 2024 :  3:08:53 PM  Show Profile  Reply with Quote
I've just upgraded to 2528 and it seems good so far. I will update here if the issue comes back. Thanks!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jun 27 2024 :  08:52:20 AM  Show Profile  Reply with Quote
Excellent news, thank you for the update, fingers crossed this issue is fully fixed.

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

dezmen
Junior Member

13 Posts

Posted - Jun 28 2024 :  11:54:29 AM  Show Profile  Reply with Quote
quote:
Originally posted by feline

It turns out VA 2528 has just been released, which contains the bug fix. Hopefully downloading and installing this version will fix the problem for you:

http://www.wholetomato.com/downloads


Any change logs? Lately when I see new version, i can't find any change log to decide update or not, can be up to month of waiting :/
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18915 Posts

Posted - Jul 01 2024 :  07:30:52 AM  Show Profile  Reply with Quote
The change logs will be along soon, but I do know one fix was made to template handling, which was causing performance problems and even sometimes crashes when running Find References. The crash problem was only reproduced in older versions of Unreal Engine, but performance problems were showing up elsewhere. When fixing an urgent bug we don't want to wait for the change log, preferring to get the fix released.

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:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000