Поделиться через


Советы и рекомендации по производительности Visual Studio

Рекомендации по производительности Visual Studio предназначены для ситуаций с низкой памятью, которые могут возникать в редких случаях. В таких ситуациях можно оптимизировать некоторые функции Visual Studio, которые вы не можете использовать. Следующие советы не предназначены в качестве общих рекомендаций.

Заметка

Если у вас возникли трудности с использованием продукта из-за проблем с памятью, сообщите нам через средство обратной связи .

Использование 64-разрядной ОС

При обновлении системы с 32-разрядной версии Windows до 64-разрядной версии вы расширяете объем виртуальной памяти, доступной в Visual Studio, с 2 ГБ до 4 ГБ. Обновление 64-разрядной операционной системы позволяет Visual Studio обрабатывать большие рабочие нагрузки.

Дополнительные сведения см. в разделе Ограничения памяти для выпусков Windows и Windows Server.

Подсказка

Visual Studio 2022 в Windows — это 64-разрядное приложение. Более ранние версии — 32-разрядная версия.

Отключение автоматического восстановления файлов

Visual Studio автоматически открывает документы, которые были оставлены открытыми в предыдущем сеансе. Это действие автоматического восстановления файлов может продлить время загрузки решения до 30% или более в зависимости от типа проекта и открытых документов. Конструкторы, такие как Windows Forms и XAML, а также некоторые файлы JavaScript и TypeScript, могут открываться медленно.

Visual Studio уведомляет вас в желтой полосе, когда автоматическое восстановление документов приводит к замедлению загрузки решения. Вы можете отключить автоматическое повторное открытие файла, выполнив следующие действия.

  1. Выберите >Параметры, чтобы открыть диалоговое окно "Параметры".

  2. На странице Проекты и решения>Общие снимите флажок Повторное открытие документов при загрузке решения.

При отключении автоматического восстановления файлов быстрый способ перехода к файлам, которые нужно открыть, с помощью одной из команд Перейти к:

  • Для основной функции Перейти к выберите Изменить>Перейти>Перейти ко всемили нажмите Ctrl +T.

  • Переход к последнему месту редактирования в решении с помощью Редактировать>Перейти к>Перейти к последнему месту редактированияили нажав клавиши Ctrl+Shift+Backspace.

  • Используйте Перейти к недавнему файлу, чтобы просмотреть список недавних файлов в проекте. Выберите Изменить>Перейти к>Перейти к недавнему файлу, или нажмите клавиши Ctrl+1, Ctrl+R.

Настройка параметров отладки

Если во время сеансов отладки обычно не хватает памяти, можно оптимизировать производительность, изменив одну или несколько конфигураций.

  • включить только мой код

    Простейшая оптимизация — включить функцию Just My Code, которая загружает только символы для проекта. Включение этой функции может привести к значительному экономии памяти для отладки управляемых приложений (.NET). Этот параметр уже включен по умолчанию в некоторых типах проектов.

    Чтобы включить Just My Code, выберите Средства>Параметры>Отладка>Общие, а затем выберите Включить Just My Code.

  • Укажите символы для загрузки

    Для собственной отладки загрузка файлов символов (PDB) является дорогой в плане ресурсов памяти. Параметры символов отладчика можно настроить для экономии памяти. Как правило, решение настраивается только для загрузки модулей из проекта.

    Чтобы указать загрузку символов, выберите Сервис>Параметры>Отладки>Символы.

    Установите параметры Загружать только указанные модули вместо Загружать все модули, а затем укажите, какие модули необходимо загрузить. При отладке можно также щелкнуть правой кнопкой мыши определенные модули в окне модулей, чтобы явно включить модуль в загрузку символов. (Чтобы открыть окно при отладке, выберите Отладка>Окна>Модули.)

    Для получения дополнительной информации см. раздел "Указание символов и исходных файлов в отладчике".

  • Отключить средства диагностики

    Рекомендуется отключить профилирование ЦП после использования. Эта функция может использовать большие объемы ресурсов. После включения профилирования ЦП это состояние сохраняется в последующих сеансах отладки, поэтому по завершении его следует явно отключить. Вы можете сохранить некоторые ресурсы, отключив средства диагностики во время отладки, если вам не нужны предоставленные функции.

    Чтобы отключить средств диагностики, запустите сеанс отладки, выберите Средства>параметры>отладки>общие, а затем отключите параметр Включить средства диагностики при отладке.

    Подробнее см. в средств профилирования.

Отключение инструментов и расширений

Некоторые средства или расширения можно отключить для повышения производительности.

Совет

Часто можно изолировать проблемы с производительностью, отключив расширения по одному за раз и перепроверив производительность.

Управляемая языковая служба (Roslyn)

Сведения о производительности платформы компилятора .NET ("Roslyn") см. в рекомендации по производительности для крупных решений.

  • отключить CodeLens

    Visual Studio выполняет задачу Поиск всех ссылок для каждого метода по мере его отображения. CodeLens предоставляет такие функции, как встроенное отображение количества ссылок. Работа выполняется в отдельном процессе, например ServiceHub.RoslynCodeAnalysisService32. В крупных решениях или в системах с ограниченными ресурсами эта функция может оказать значительное влияние на производительность. Если у вас возникли проблемы с памятью, например при загрузке большого решения на компьютере с 4 ГБ или высокой загрузкой ЦП для этого процесса, можно отключить CodeLens для освобождения ресурсов.

    Чтобы отключить CodeLens, выберите Средства>Параметры>Текстовый редактор>Все языки>CodeLensи снимите флажок.

    Дополнительные сведения см. в разделе Поиск изменений кода и другой истории при помощи CodeLens.

Другие средства и расширения

  • отключить расширения

    Расширения — это дополнительные компоненты программного обеспечения, добавленные в Visual Studio, которые предоставляют новые функциональные возможности или расширяют существующую функциональность. Расширения часто могут быть источником проблем с ресурсами памяти. Если у вас возникли проблемы с ресурсом памяти, попробуйте отключить расширения по одному за раз, чтобы узнать, как это влияет на сценарий или рабочий процесс.

    Чтобы отключить расширения, перейдите к Расширения>Управление расширениямии отключите определенное расширение.

  • Отключить режим карты

    режим карты отображает строки кода в миниатюре на полосе прокрутки. Режим карты включен по умолчанию.

    Чтобы отключить режим карты, перейдите в раздел "Средства>параметры>текстового редактора>все языки>полосы прокрутки" и в разделе "Поведение поведение" отключите режим использовать режим карты для вертикальной полосы прокрутки.

  • Отключить оболочки слов

    оболочки Word отображает часть длинной строки кода, которая выходит за пределы текущей ширины окна редактора кода. Оболочка Word включена по умолчанию.

    Чтобы отключить перенос слов для проекта, над которым вы работаете, перейдите в раздел Изменить>Дополнительно>Перенос слов. (Этот параметр можно переключить с помощью одной команды меню.)

    Чтобы отключить оболочку слов для всех проектов, перейдите в раздел "Средства>параметры>общие>текстовый редактор>все языки>общие" и в разделе "Параметры " выберите параметр оболочки Word.

  • Отключить XAML-дизайнер

    Конструктор XAML по умолчанию включен, но потребляет ресурсы только при открытии .xaml файла. Если вы работаете с XAML-файлами, но не хотите использовать функции конструктора, отключите эту функцию, чтобы освободить некоторую память.

    Чтобы отключить конструктор XAML, перейдите к разделу Инструменты>Параметры>Конструктор XAML>Включение конструктора XAMLи снимите флажок с этого параметра.

  • Удаление рабочих нагрузок

    Установщик Visual Studio можно использовать для удаления рабочих нагрузок, которые больше не используются. Это действие может снизить стоимость запуска и выполнения, пропуская пакеты и сборки, которые больше не нужны.

  • Добавление неотслеживаемых файлов в локальный .gitignore

    Visual Studio запускает команду Git git status с неуправляемыми файлами, чтобы обеспечить простой интерфейс при добавлении новых файлов в репозиторий. При наличии большого количества незаслеченных файлов git status может использовать дополнительную память. Чтобы игнорировать эти файлы и повысить производительность git status, вы можете добавить эти файлы или папки в локальный файл gitignore. Чтобы получить доступ к файлу, перейдите к Git>Настройки>Настройки репозитория Git. Затем в разделе файлов Git выберите Добавить, чтобы создать файл .gitignore, или выберите Изменить, если он у вас уже есть.

  • Включить граф фиксации в инструментах Git

    Новинки в Visual Studio 2022 версии 17.2. Если при просмотре репозитория или истории веток Git в Visual Studio возникают задержки, мы интегрировали функцию "графа коммитов", которая может помочь. Чтобы использовать граф фиксации, убедитесь, что вы скачайте и установите Visual Studio 2022. Дополнительные сведения о графе коммитов см. в записи блога Усильте ваш опыт работы с Git в Visual Studio.

Принудительное выполнение сборки мусора

Среда CLR использует систему управления памятью сборки мусора. В этой системе иногда память используется объектами, которые больше не нужны. Это временное состояние; Сборщик мусора освобождает эту память на основе его производительности и эвристики использования ресурсов. Вы можете принудительно собрать неиспользуемую память в CLR, используя горячую клавишу в Visual Studio. Если есть значительное количество мусора, ожидающего сбора и принудительной сборки мусора, вы увидите, что использование памяти процесса devenv.exe в диспетчере задач. Этот метод редко требуется использовать. Однако после завершения дорогостоящей операции (например, полного сеанса сборки, сеанса отладки или открытого события решения) вы можете определить, сколько памяти действительно используется процессом. Так как Visual Studio смешанный (управляемый & машинный код), иногда это возможно для собственного распределителя и сборщика мусора, чтобы конкурировать за ограниченные ресурсы памяти. В условиях высокой загруженности памяти может помочь принудительный запуск сборщика мусора.

Чтобы принудительно выполнить сборку мусора, используйте это сочетание клавиш: CTRL+ALT+SHIFT+F12, CTRL+ALT+SHIFT+F12 (дважды нажмите клавишу ALT).

Если ваш сценарий стабильно работает при принудительной сборке мусора, отправьте отчет с помощью средства обратной связи Visual Studio, так как это поведение, вероятно, является ошибкой.

Подробное описание сборщика мусора CLR см. в разделе Основы работы сборщика мусора.