ReSharper 2017.3 Help

Performance Guide

ReSharper | Options | Environment | Performance Guide

Use this page to get an overview of performance-critical Visual Studio and ReSharper preferences, and quickly change their values. If a preference has a suboptimal value, ReSharper displays a snail icon ThemedIcon Snail Screen Color next to it.

When you select a preference in the list, ReSharper displays the path where it is configured, the current value, and the recommended value at the bottom of the page. If the current value of the selected preference differs from the recommended value, you can click Apply and ReSharper will automatically set the recommended value.
For some preferences — such preferences are marked with the warning icon ThemedIcon Warning Screen Gray — it is not feasible to automatically change their values. When you select such preference, you can click Open Options at the bottom of the page and configure it manually.

Each of the items on the page also has a drop-down selector, where you can choose whether and how ReSharper should track the corresponding preference:

  • Ignore — ReSharper will not track this preference.
  • Show in status bar — if the preference has a value that differs from the recommended one, ReSharper will display a notification on the Visual Studio status bar:
    ReSharper: Performance guide status-bar notification
    You can always click the notification to option this options page.
  • Fix silently (might be unavailable for some preferences) — ReSharper will automatically set the recommended value for this preference if it detects a different value.
OptionDescriptionAffectsImpact
Visual Studio preferences affecting performance
Enable Lightweight Solution Load mode When you work on a large solution, you often do not need all the projects in the solution to be loaded. The Lightweight Solution Load lets you delay loading of projects until you start working with them. As you can see on the diagram on the linked Visual Studio Blog page, this option is the most efficient for large solutions. Startup timeHigh
Do not track active item in Solution Explorer If this feature is disabled, you save some resources on updating the Solution Explorer tree. However, when you need to locate the current document, you can always press Shift+Alt+L. Navigation between filesLow
Disable Roslyn full solution analysis Analysing the entire solution always comes at a price, and the larger your solution, the bigger the performance impact. Although ReSharper features its own Solution-Wide Analysis, it is also the feature that we recommend to disable as soon as you notice any slowness in Visual Studio. User action response timeHigh
Source control plug-in in use Many Visual Studio users report performance problems when using the default source control plugin — here is one example — therefore, if you do not use source control integration, we recommend turning it off to improve overall performance. Otherwise, choose Ignore for this suggestion. Startup time,
User action response time
High
Show empty environment at startup Choosing to show the empty IDE at startup will help you slightly decrease the startup time. Startup timeLow
Do not download content at startup This is another place where you can save some startup time proportionally to your Internet connection speed. Startup timeLow
Do not save autorecover information Although constantly copying the current state of opened documents may be useful in case of a crash, it large solutions it may come at a price of UI freezes, (for example, see the comments here). Therefore, we recommend disabling this feature and developing a habit of saving your files after any important changes. Startup time,
User action response time
Medium
Do not track changes in text editor When 'Track changes' is enabled, Visual Studio adds gutter highlightings for edited lines. If there are too many edits in the current file, the editor can become slow because these highlightings often need to be calculated.
Although this is a helpful feature, we recommend disabling it, especially when working with large files.
Typing
User action response time
Low
Disable XAML designer Visual XAML designer is known to be a very resource-intensive feature. So if you can work with XAML code without the visual representation of XAML forms, we strongly recommend disabling the XAML designer. Editing XAML documents High
Disable automatic formatting by Visual Studio If you rely on ReSharper when formatting your code, you will probably do not want the formatting to be done twice. So although Visual Studio formatting does not normally bring any performance issues, it seems logical to eliminate the unnecessary work. Typing,
Pasting code
High
Disable synchronization of settings If you choose to synchronize your Visual Studio settings, there is no known performance problem problems with it, just select Ignore for this option. But if you do not use it, we can recommend disabling the synchronization. User action response time Low
Do not show annotations over vertical scroll bar ReSharper extensively uses the right gutter or the vertical scroll bar to show design-time inspection notification, structural search and replace results, To-do items, and usages of symbol in the file . Visual Studio also displays a lot of its notification on the scroll bar, and sometimes Visual Studio and ReSharper report the same error, which got displayed twice, and often the scrollbar becomes cluttered with marks.
If you prefer ReSharper marks, you can completely or partially disable Visual Studio annotations and get some performance benefits by not rendering them.
Alternatively, you can disable ReSharper's marks on the scroll bar — go to ReSharper | Options | Editor | Editor Appearance and choose Do not show marker bar.
Scrolling,
Typing
Low
Disable CodeLens for all languages CodeLens is among several performance considerations for large solutions because "the IDE basically performs a Find All References operation for each method as it scrolls onto the screen". Therefore, we recommend disabling it if you notice any lags.
Some features of CodeLens are provided by ReSharper — for example, you can always quickly get all references or usages of the symbol (Alt+F7).
Scrolling,
Typing,
User action response time
High
ReSharper preferences affecting performance
Do not include Roslyn lightbulb actions into ReSharper's By default, ReSharper shows Roslyn actions integrated in its own action list. This looks better because the editor is less cluttered but this is costly performance-wise because ReSharper has to request available actions from Roslyn, which could lead to increased CPU and memory usage.
Although all requests to Roslyn are made in the background thread, you might want to disable this option if there are any noticeable performance problems.
Typing,
User action response time
Low
Last modified: 17 January 2018

See Also