none
Is anyone else seeing performance issues with VS2015 and larger solutions?

    Question

  • We are in the process of migrating our code base from VS 2012 to VS 2015. It is mostly C# with a handful of C++ projects. Our main solution is relatively large, ~260 projects. What we are experiencing though is that VS frequently locks up/lags when we start to alter the code.

    We did have R# installed (9.2/10/10.1) but have since disabled that and are still seeing issues. I have also disabled CodeLense completely.

    From what I can tell, it appears to be related to the 'Error List' and the background compilation (or some other background task scanning the code).

    As an example, if I added an '[Obsolete]' attribute to an extension method and VS consistently becomes unresponsive for ~5-6 secs. TaskMgr shows that is goes from 2% CPU to 18% CPU

    I've searched around online, but it looks like VS no longer has an option to disable the background code compilation used by the 'Error List'.

    Does anyone have other ideas to try? We were not experiencing any of these issues on the same machines under VS 2012.

    I'm mainly looking for ways to disable features in VS 2015 to make it usable. Reducing the solution size is not really an option. Changing HW is also not an option, but it shouldn't be the issue (32GB RAM, SSD, I7, Win8.1). 

    A few last notes

    - I did make sure that the AV software had the source tree in its exclusion list. Are there other temp folders that maybe need to be added?

    - We also have a partial solution that only contains 80 of the projects. It seems to exhibit the same lag.

    - We do have Code Analysis turned on for Release builds. This seems to make things even worse by causing the background compilation to fire and lock while in the middle of typing, before you can even complete the statement.


    Thursday, November 19, 2015 3:10 PM

Answers

  • Hi Steve Ruland,

    Please uncheck the settings of "Automatically adjust visual experience based on client performance", "Automatically adjust visual experience based on client performance" and "Enable rich client visual experience" options in menu Tools -> Options -> Environment as below image shows.

    If it doesn't work, please try with following steps to troubleshoot this problem.

    1. Open Visual Studio with Administrator.
    2. Run Visual Studio in safe mode with "Deven.exe /SafeMode" to prevents all third-party VSPackages from loading when Visual Studio starts, thus ensuring stable execution.
    3. Close all third part software, such as the AV software.
    4. Please create a new simple project to check whether it also has the same problem.
    5. Disable the customer feedback component. Find this registry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}" and rename it to something invalid "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\Disabled-{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}"
    6. Disable AutoRecover: Tools > Options > Environment > AutoRecover and uncheck Save AutoRecovery information.
    7. Clear all Visual Studio cache in following paths.

               C:\Users\richardd\AppData\Local\Microsoft\WebsiteCache
               C:\Users\richardd\AppData\Local\Temp\Temporary ASP.NET Files\siteName

    Best Regards,
    Weiwei




    Friday, November 20, 2015 6:59 AM
    Moderator

All replies

  • Is 32gb comma ssd an ssd of 32GB or 32gb ram plus a ssd ?

    Maybe VS is trying to run the huge product on the ssd and running out of disc space ?


    n.Wright

    Thursday, November 19, 2015 3:52 PM
  • No, those are the PC specs

    32GB RAM

    SSD

    I7 Processor

    Still have over 40GB free on the SSD.

    Thursday, November 19, 2015 4:11 PM
  • I did notice that performance improves significantly if I did not have the Object Browser window open. Having ObjectBrowser open seems to interact with the background compile.

    I'd really like a way to test by turning off the background compile. That feature didn't exist in VS 2012 and things were working fine. I can live the error list only updating when I actually trigger a compile. I'm surprised that forced background compiles isn't an issue for more devs, especially if they are on older hardware. 

    Thursday, November 19, 2015 4:18 PM
  • Hi Steve Ruland,

    Please uncheck the settings of "Automatically adjust visual experience based on client performance", "Automatically adjust visual experience based on client performance" and "Enable rich client visual experience" options in menu Tools -> Options -> Environment as below image shows.

    If it doesn't work, please try with following steps to troubleshoot this problem.

    1. Open Visual Studio with Administrator.
    2. Run Visual Studio in safe mode with "Deven.exe /SafeMode" to prevents all third-party VSPackages from loading when Visual Studio starts, thus ensuring stable execution.
    3. Close all third part software, such as the AV software.
    4. Please create a new simple project to check whether it also has the same problem.
    5. Disable the customer feedback component. Find this registry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}" and rename it to something invalid "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\Disabled-{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}"
    6. Disable AutoRecover: Tools > Options > Environment > AutoRecover and uncheck Save AutoRecovery information.
    7. Clear all Visual Studio cache in following paths.

               C:\Users\richardd\AppData\Local\Microsoft\WebsiteCache
               C:\Users\richardd\AppData\Local\Temp\Temporary ASP.NET Files\siteName

    Best Regards,
    Weiwei




    Friday, November 20, 2015 6:59 AM
    Moderator
  • Weiwei,

    Steps 1-3 changes nothing

    With regard to step 5, VS 2015 is Visual Studio version 14, not 9.  The registry key you've specified does not exist.

    Steps 6 or 7 does not change anything. 

    I've noticed that the performance issue only exists with solutions with many projects.  For solutions with fewer projects, the solution loads quickly.

    This behavior is not as bad in Visual Studio 2012.

    I am using Visual Studio 2015 Enterprise

    Monday, December 14, 2015 2:11 PM