Visual Studio - find references uses all memory

I wonder, if anybody else observes the same issue with VS 2019. Find All References (Shift F12) for some variable simply eats up all available memory - even if scope is limited to the current project, which is less than 1000 lines of code.

The ramp up continues until no memory is left, so I cannot use that functionality at all, which is a real pain. Blueprint does find its references so smart :slight_smile:

BTW: VS2019 also looks like a disk killer - sometimes 10 minutes with 100% load and several MB/s throughput, sometimes read, sometimes write. Sure, it’s an HDD, but for an SSD I have the impression, it will lower lifetime extremely…

May I suggest you to try Rider for UE Preview? We use it everyday on our work project and runs fine. Until VS2022 is released (which has improved a lot) I cannot recommend Visual Studio at all.

Rider for Unreal Engine | JetBrains: Developer Tools for Professionals and Teams

2 Likes

I took a look at your link and it looks very promising. I’ll go and check this out. Never had heard about this before, thanks a lot for this information.

1 Like

Rider has a couple of particularly useful functions, but is for the most part generations behind VS or VSC.

Once all your indices are built in VS, it’s disk activity and other usages will be reduced significantly. This can take many, many, many hours on a spinning disk with a tree as large as Unreal.

I cannot stress how important SSDs are to modern game development.

Rider will probably take a week or so to complete building it’s indices on a spinning disk, also.

If all you’ve got are spinners, you’ve probably got a fairly old machine too, and you’d be surprised how much modern CPU and RAM can improve your experience.

The project I’m on right now, I went from a i7-4700k to a i7-10xxxK, 32gig DDR3 to 48gig DDR4, large multi-tb HDDs to a pair of single terabyte SSDs. My full game C++ compile time went down from about 16 hours to about 20 minutes. My full game shader compile time went down from 2 days to about 4 hours. My full game distribution build went from 3+ days to about 6 hours.

2 Likes

Thanks for sharing your experiences and giving some numbers. That’s impressive.
I tried on a 12 Core AMD with 2TB NVMe and 32GB - a different world. Definitely, this makes a huge difference.

My experience is exactly the opposite… InteliSense in VS has almost no improvement in the last 10 or so years (Talking about C++). It’s slow, it’s bugged, it’s always running in the background, always not ready. Rider will index UE for few minutes. I never use “Find All References” since I’ve never seen it really working on a bigger project. It’s slow, it’s basically falling back to basic “find in files”. So I just use find in files…

My experience with Rider has been pretty terrible – as far as editors go, it feels like someone outfitted VS 2010 with a non-standard control scheme, and bolted on a couple of features to connect with Unreal. It’s Find In All Files cache, however, is pretty impressive, and when I’m digging for something I can’t figure out the name of in VS, I will sometimes boot Rider just to use that. Other things I use it for is finding all classes that inherit from one, and finding blueprints that inherit from one.

When I initially tried Rider it literally took over a week to build those caches, using spinning disks. Not hyperbole. When I switched to SSD and reinstalled, it took many hours to build.

I thought SSDs alone would make a huge difference, and they do in the performance of VS or Rider, but shader compilation and package building are much more CPU bound, I was absolutely shocked at how much additional horsepower the more modern CPUs had in dealing with shader compile and packaging.