Sugerencias y trucos de rendimiento de Visual Studio

Las recomendaciones de rendimiento de Visual Studio están previstas para situaciones de memoria insuficiente, que se pueden plantear en algunos casos. En estas situaciones, puede optimizar determinadas características de Visual Studio que puede que no esté usando. Las siguientes sugerencias no pretenden ser recomendaciones generales.

Nota

Si tiene dificultades para usar el producto debido a problemas de memoria, háganoslo saber a través de la herramienta de comentarios.

Uso de un sistema operativo de 64 bits

Si actualiza el sistema desde una versión de Windows de 32 bits a una de 64 bits, se amplía la cantidad de memoria virtual disponible para Visual Studio de 2 GB a 4 GB. Las actualizaciones del sistema operativo de 64 bits permite a Visual Studio controlar cargas de trabajo más grandes.

Para más información, consulte Límites de memoria para versiones de Windows y Windows Server.

Sugerencia

Visual Studio 2022 en Windows es una aplicación de 64 bits. Las versiones anteriores son de 32 bits.

Desactivación de la restauración automática de archivos

En Visual Studio, los documentos que se hayan dejado abiertos en la sesión anterior se vuelven a abrir automáticamente. Esta acción de restauración automática de archivos puede prolongar el tiempo que tarda en cargar una solución en hasta un 30 %, o más, dependiendo del tipo de proyecto y los documentos que se están abriendo. Los diseñadores como Windows Forms y XAML, así como algunos archivos de JavaScript y TypeScript, pueden tardar bastante en abrirse.

Visual Studio lo notifica con una barra amarilla de que la restauración de documentos está provocando que una solución cargue de forma más lenta. Puede deshabilitar esta función con las instrucciones siguientes:

  1. Seleccione Herramientas>Opciones para abrir el cuadro de diálogo Opciones.

  2. En la página Proyectos y soluciones>General, desmarque la opción Reopen documents on solution load (Volver a abrir documentos al cargar la solución).

Si deshabilita la restauración automática de archivos, puede acceder a archivos rápidamente usando uno de los comandos de Ir a:

  • Para la función general Ir a, seleccione Edición>Ir a>Ir a todo, o bien presione Ctrl+T.

  • Vaya a la última ubicación de edición de una solución mediante Edición>Ir a>Ir a última ubicación de edición, o bien presione Ctrl+Mayús+Retroceso.

  • Use Ir a archivo reciente para ver una lista de archivos visitados recientemente en una solución. Seleccione Edición>Ir a>Ir a archivo reciente, o bien presione Ctrl+1, Ctrl+R.

Configuración de opciones de depuración

Si es habitual que se quede sin memoria durante las sesiones de depuración, puede optimizar el rendimiento si realiza uno o varios cambios de configuración.

  • Habilite Solo mi código

    La optimización más sencilla consiste en habilitar la característica Solo mi código, que solo carga los símbolos del proyecto. La habilitación de esta característica puede traducirse en un considerable ahorro de memoria para depurar aplicaciones administradas (.NET). Esta opción ya está habilitada de forma predeterminada en algunos tipos de proyecto.

    Para habilitar Solo mi código, elija Herramientas>Opciones>Depuración>General y luego seleccione Habilitar solo mi código.

  • Especifique los símbolos que se van a cargar

    En la depuración nativa, la carga de archivos de símbolos ( .pdb) resulta costosa en términos de recursos de memoria. Puede establecer la configuración de símbolos del depurador de modo que se ahorre memoria. Por lo general, la solución se configura para cargar únicamente los módulos del proyecto.

    Para especificar la carga de símbolos, elija Herramientas>Opciones>Depuración>Símbolos.

    Establezca las opciones en Solo los módulos especificados en lugar de Todos los módulos y luego especifique qué módulos quiere cargar. Durante la depuración, también puede hacer clic con el botón derecho en módulos concretos de la ventana Módulos para incluir explícitamente un módulo en la carga de símbolos. (Para abrir la ventana durante la depuración, elija Depurar>Ventanas>Módulos).

    Para más información, consulte Especificación de archivos de origen y de símbolos en el depurador.

  • Deshabilite las herramientas de diagnóstico

    Se recomienda deshabilitar la generación de perfiles de CPU después de su uso. Esta característica puede consumir grandes cantidades de recursos. Una vez habilitada la generación de perfiles de CPU, este estado se mantiene en las sesiones de depuración posteriores, por lo que merece la pena desactivarla de forma explícita al terminar. Puede ahorrar algunos recursos si deshabilita las herramientas de diagnóstico durante la depuración si no necesita las características proporcionadas.

    Para deshabilitar las Herramientas de diagnóstico, inicie una sesión de depuración, seleccione Herramientas>Opciones>Depuración>General y anule la selección de la opción Habilitar herramientas de diagnóstico durante la depuración.

    Para más información, consulte Herramientas de generación de perfiles.

Deshabilitación de herramientas y extensiones

Algunas herramientas o extensiones se pueden desactivar para mejorar el rendimiento.

Sugerencia

A menudo se pueden aislar los problemas de rendimiento si se desactivan las extensiones de una en una y se vuelve a comprobar el rendimiento.

Servicios de lenguaje administrados (Roslyn)

Para más información sobre las consideraciones de rendimiento de .NET Compiler Platform ("Roslyn"), vea Performance considerations for large solutions (Consideraciones de rendimiento para soluciones de gran tamaño).

  • Deshabilite CodeLens

    Visual Studio realiza una tarea Buscar todas las referencias en cada método cuando este se muestra. CodeLens proporciona características como la presentación en línea del número de referencias. El trabajo se realiza en un proceso independiente, como ServiceHub.RoslynCodeAnalysisService32. En soluciones de gran tamaño o en sistemas con recursos limitados, esta característica puede tener un impacto considerable sobre el rendimiento. Si experimenta problemas de memoria, por ejemplo, al cargar una solución de gran tamaño en un equipo de 4 GB, o un uso elevado de la CPU en este proceso, puede deshabilitar CodeLens para liberar recursos.

    Para deshabilitar CodeLens, elija Herramientas>Opciones>Editor de texto>Todos los lenguajes>CodeLens y anule la selección de la característica.

    Para más información, consulte Búsqueda de cambios de código y otros historiales de CodeLens.

Otras herramientas y extensiones

  • Deshabilite extensiones

    Las extensiones son componentes de software adicionales agregados a Visual Studio para proporcionar nueva funcionalidad o extender la funcionalidad existente. Las extensiones suelen ser una fuente de problemas de recursos de memoria. Si experimenta problemas de recursos de memoria, intente deshabilitar extensiones de una en una para ver cómo repercuten en el escenario o el flujo de trabajo.

    Para deshabilitar extensiones, vaya a Extensiones>Administrar extensiones y deshabilite una extensión determinada.

  • Deshabilitar el modo de mapa

    El modo de mapa muestra líneas de código en miniatura en la barra de desplazamiento. El modo de mapa está habilitado de forma predeterminada.

    Para deshabilitar el modo de mapa, vaya a Herramientas>Opciones>Editor de texto>Todos los idiomas>Barras de desplazamiento y, en la sección Comportamiento, desactive la opción Usar el modo Mapa para la barra de desplazamiento vertical.

  • Deshabilitar el ajuste de línea

    El ajuste de línea muestra la parte de una línea de código larga que se extiende más allá del ancho actual de la ventana del editor de código. El ajuste de línea está habilitado de manera predeterminada.

    Para deshabilitar el ajuste de línea para un proyecto en el que está trabajando actualmente, vaya a Editar>Avanzadas>Ajuste de línea. (Use los mismos comandos de menú para cambiar esta configuración).

    Para deshabilitar el ajuste de línea en todos los proyectos, vaya a Herramientas>Opciones>General>Editor de texto>Todos los idiomas>General y, en la sección Configuración, deshabilite la opción Ajuste de línea.

  • Deshabilite el diseñador XAML

    El diseñador XAML está habilitado de forma predeterminada, pero solo consume recursos si se abre un archivo .xaml. Si trabaja con archivos XAML pero no quiere usar la funcionalidad del diseñador, deshabilite esta característica para liberar memoria.

    Para deshabilitar el diseñador XAML, vaya a Herramientas>Opciones>Diseñador XAML>Habilitar diseñador XAML y anule la selección de la opción.

  • Quite cargas de trabajo

    Puede usar el instalador de Visual Studio para quitar las cargas de trabajo que ya no se usen. Esta acción puede simplificar el costo de inicio y en tiempo de ejecución al omitir paquetes y ensamblados que ya no se necesitan.

  • Agregue archivos sin seguimiento a .gitignore local

    Visual Studio ejecuta el comando Git git status con archivos sin seguimiento para proporcionar una experiencia perfecta cuando se agreguen nuevos archivos a un repositorio. Cuando hay un gran número de archivos sin seguimiento, git status puede consumir memoria adicional. Para omitir estos archivos y mejorar el rendimiento de git status, puede agregar estos archivos o carpetas al archivo .gitignore local. Para acceder al archivo, vaya a Git>Configuración>Configuración de repositorios de Git. Luego, en la sección Archivos de Git, seleccione Agregar para crear un archivo .gitignore o seleccione Editar si ya lo tiene.

  • Habilitación del grafo de confirmación en herramientas de Git

    Novedad de Visual Studio 2022 versión 17.2: si experimenta retrasos al consultar el repositorio de Git o el historial de ramas en Visual Studio, hemos integrado una característica de "grafo de confirmación" que puede ser de utilidad. Para usar el grafo de confirmación, asegúrese de descargar e instalar Visual Studio 2022. Para más información sobre el grafo de confirmación, vea la entrada de blog Potencie su experiencia con Git en Visual Studio.

Aplicación de recolección de elementos no utilizados

CLR usa un sistema de administración de memoria de recopilación de elementos no utilizados. En este sistema, a veces hay objetos que ya no son necesarios pero que usan memoria. Este estado es temporal; el recolector de elementos no utilizados libera esta memoria en función de su rendimiento y heurística de uso de recursos. Puede forzar a CLR a que recopile la memoria sin usar mediante una tecla de acceso rápido en Visual Studio. Si hay una cantidad considerable de elementos no utilizados en espera de recolección y se fuerza esta, debería ver cómo se reduce el uso de memoria del proceso devenv.exe en el Administrador de tareas. Es raro tener que recurrir a este método. Pero después de que se haya completado una operación costosa (por ejemplo, una compilación completa, una sesión de depuración o un evento de apertura de solución), puede ayudar a determinar cuánta memoria está usando realmente el proceso. Dado que Visual Studio es mixto (administrado y nativo), a veces es posible que el asignador nativo y el recolector de elementos no utilizados compitan por recursos de memoria limitados. En condiciones de elevado uso de memoria, puede ser útil forzar la ejecución del recolector de elementos no utilizados.

Para forzar una recolección de elementos no utilizados, use este método abreviado de teclado: CTRL+Alt+Mayús+F12, CTRL+Alt+Mayús+F12 (presione dos veces).

Si la aplicación de la recolección de elementos no utilizados hace que el escenario funcione mejor, rellene un informe a través de la herramienta de comentarios de Visual Studio, ya que este comportamiento probablemente sea un error.

Para obtener una descripción detallada del recolector de elementos no utilizados de CLR, vea Fundamentals of Garbage Collection (Aspectos básicos de la recolección de elementos no utilizados).