DEV Community

Discussion on: Can I Have My CPU Back Visual Studio?

dubyabrian profile image
W. Brian Gourlie

Visual Studio 2017 can often, without reason, start throttling the CPU of the machine more than 75% without the user doing anything.

The odd part about this whole thing is that sometimes the high-CPU usage will actually return to normal levels when you actually start performing operations (i.e. scrolling within the editor, typing, etc.). This can seem incredibly frustrating to diagnose and to live with.

There's a good chance that this is intentional. A lot of background processing (indexing, static analysis) is done when the user is idle. Once the user starts doing things, background processing is suspended for the sake of responsiveness.

Background processing can be especially taxing when working in large javascript codebases, because javascript is especially hard to analyze. You might want to try disabling some of the javascript analysis features (if it applies to you) and see if it helps with the CPU usage.

rionmonster profile image
Rion Williams Author

Hi Brian!

Thanks for the reply!

In this particular case, the issue was only occurring (in scenarios that I could easily reproduce) in larger codebases and projects. After some digging and research, I determined that it was in fact the source control features within Visual Studio that were constantly trying to sync with the repository for the project in the background while I was attempting to get things done.

The issue itself had apparently been documented and was slated for a fix in a recent release/update to Visual Studio, so it may have been addressed already. The mentioned workarounds are great for folks that don't have the ability to easily update their environments or are simply being hamstrung by the issue itself and it is impacting their ability to work.

Thanks for the great suggestion regarding Javascript Analysis as I know that's one that can peg CPUs as well. In general, any sort of analysis can easily be configured to run at build-time to avoid interrupting daily operation. Other potential CPU hogs include extensions, which can be an entire beast on their own.

Thanks for the comment!