Sugerencias y trucos de rendimiento de Visual Studio
Las recomendaciones de rendimiento de Visual Studio están pensadas para situaciones de memoria baja, que pueden producirse en casos poco frecuentes. En estas situaciones, puede optimizar determinadas características de Visual Studio que es posible que no esté usando. Las sugerencias siguientes no están pensadas como recomendaciones generales.
Nota
Si tiene dificultades para usar el producto debido a problemas de memoria, infórmenos utilizando la herramienta de comentarios .
Uso de un sistema operativo de 64 bits
Si actualiza el sistema de una versión de 32 bits de Windows a una versión de 64 bits, expande la cantidad de memoria virtual disponible para Visual Studio de 2 GB a 4 GB. Una actualización del sistema operativo de 64 bits permite a Visual Studio controlar cargas de trabajo más grandes.
Para obtener más información, vea límites de memoria para las 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.
Deshabilitar la restauración automática de archivos
Visual Studio vuelve a abrir automáticamente los documentos que se dejaban abiertos en la sesión anterior. Esta acción de restauración automática de archivos puede prolongar los tiempos necesarios para cargar una solución hasta 30% o más, según el tipo de proyecto y los documentos que se abran. Los diseñadores como Windows Forms y XAML, y algunos archivos JavaScript y TypeScript, pueden ser lentos para abrirse.
Visual Studio le notifica en una barra amarilla cuando la restauración automática de documentos provoca que una solución se cargue más lentamente. Puede deshabilitar la reapertura automática de archivos siguiendo estos pasos:
Seleccione Herramientas>Opciones para abrir el cuadro de diálogo Opciones.
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, una forma rápida de navegar a los archivos que desea abrir es mediante uno de los comandos Ir a:
Para la funcionalidad general Ir a, seleccione Editar>Ir a>Ir a todos loso 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
Editar Ir a Ir a archivo reciente o presione ctrl1 , Ctrl R .
Configuración de opciones de depuración
Si normalmente te quedas sin memoria durante las sesiones de depuración, puedes optimizar el rendimiento haciendo uno o varios cambios de configuración.
Habilite Solo mi código
La optimización más sencilla es habilitar la característica Solo mi código, que solo carga símbolos para el 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.
Especificar símbolos para cargar
Para la depuración nativa, cargar archivos de símbolos (.pdb) es caro en términos de recursos de memoria. Puede establecer la configuración de símbolos del depurador de modo que se ahorre memoria. Normalmente, la solución se configura para cargar solo módulos desde el proyecto.
Para especificar la carga de símbolos, elija Herramientas>Opciones>Depuración>Símbolos.
Establezca las opciones en Cargar solo los módulos especificados en lugar de Cargar todos los módulosy, a continuación, especifique qué módulos le interesa 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.
Deshabilitar 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 conserva en las sesiones de depuración posteriores, por lo que merece la pena desactivarla explícitamente cuando haya terminado. 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.
Deshabilitar herramientas y extensiones
Algunas herramientas o extensiones se pueden desactivar para mejorar el rendimiento.
Sugerencia
A menudo, puede aislar los problemas de rendimiento desactivando las extensiones de uno en uno y comprobando el rendimiento.
Servicio de lenguaje administrado (Roslyn)
Para obtener información sobre las consideraciones de rendimiento de .NET Compiler Platform ("Roslyn"), consulte Consideraciones de rendimiento para soluciones de gran tamaño.
Deshabilitar CodeLens
Visual Studio realiza una tarea Buscar todas las referencias en cada método cuando este se muestra. CodeLens proporciona características como la muestra en línea del número de referencias. El trabajo se realiza en un proceso independiente, como ServiceHub.RoslynCodeAnalysisService32. En soluciones grandes o en sistemas con restricción de recursos, esta característica puede tener un impacto significativo en el rendimiento. Si tiene problemas de memoria, por ejemplo, al cargar una solución grande en una máquina de 4 GB o un uso elevado de cpu para este proceso, puede deshabilitar CodeLens para liberar recursos.
Para deshabilitar CodeLens, elija Herramientas>Opciones>Editor de texto>Todos los idiomas>CodeLensy desmarque la opción.
Para obtener más información, consulte Descubrir cambios de código y otros historiales con CodeLens.
Otras herramientas y extensiones
Deshabilite extensiones
Las extensiones son componentes de software adicionales agregados a Visual Studio que proporcionan nuevas funcionalidades o amplían la funcionalidad existente. Las extensiones suelen ser un origen de problemas de recursos de memoria. Si tiene problemas con los recursos de memoria, intente deshabilitar las extensiones de uno en uno para ver cómo afecta al escenario o el flujo de trabajo.
Para deshabilitar las extensiones, vaya a Extensiones>Administrar extensionesy deshabilite una extensión determinada.
Deshabilitar el modo de mapa
modo 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, anule la selección de la opción Usar modo de 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. (Puede alternar esta configuración mediante los mismos comandos de menú).
Para deshabilitar el ajuste de línea para todos los proyectos, vaya a Herramientas>Opciones>General>Editor de texto>Todos los idiomas>Generaly, en la sección Configuración, desmarque 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 abre un archivo de .xaml. Si trabajas con archivos XAML pero no quieres 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.
Quitar cargas de trabajo
Puede usar el Instalador de Visual Studio para quitar las cargas de trabajo que ya no se usan. Esta acción puede simplificar el costo de inicio y tiempo de ejecución omitiendo paquetes y ensamblados que ya no son necesarios.
Agregar archivos sin seguimiento al .gitignore local
Visual Studio ejecuta el comando de Git
git status
con archivos sin seguimiento para proporcionar una experiencia sin problemas al agregar 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 degit status
, puede agregar estos archivos o carpetas al archivo .gitignore local. Para acceder al archivo, vaya a Configuración de Git>>Configuración del repositorio de Git. A continuación, en la sección archivos de Git, seleccione Agregar para crear un archivo .gitignore o seleccione Editar si ya tiene uno.Habilitar gráfico de confirmación en herramientas de Git
Novedad de la versión 17.2 de Visual Studio 2022: Si experimenta retrasos al ver el repositorio de Git o el historial de ramas en Visual Studio, hemos integrado una funcionalidad de "grafo de confirmación" que puede ser de ayuda. Para usar el grafo de confirmación, asegúrese de descargar e instalar Visual Studio 2022. Para obtener más información sobre el gráfico de confirmación, consulte el artículo del blog Potencie su experiencia de Git en Visual Studio.
Forzar una recolección de basura
CLR usa un sistema de administración de memoria de recopilación de elementos no utilizados. En este sistema, a veces los objetos que ya no son necesarios usan memoria. Este estado es temporal; El recolector de elementos no utilizados libera esta memoria en función de su heurística de uso de recursos y rendimiento. Puede forzar que CLR recopile cualquier memoria no utilizada 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. Rara vez es necesario usar este método. Sin embargo, una vez completada una operación costosa (como una compilación completa, una sesión de depuración o un evento abierto de solución), puede ayudarle a determinar la cantidad de memoria que realmente usa 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 forzar la recolección de elementos no utilizados hace que el escenario funcione de forma confiable, registre un informe a través de la herramienta de comentarios de Visual Studio, ya que es probable que este comportamiento sea un error.
Para obtener una descripción detallada del recolector de elementos no utilizados de CLR, consulte Aspectos básicos de la recolección de elementos no utilizados.