Udostępnij za pośrednictwem


Porady i wskazówki dotyczące wydajności programu Visual Studio

Zalecenia dotyczące wydajności programu Visual Studio są przeznaczone dla sytuacji z małą ilością pamięci, które mogą wystąpić w rzadkich przypadkach. W takich sytuacjach można zoptymalizować niektóre funkcje programu Visual Studio, których możesz nie używać. Poniższe porady nie są przeznaczone jako ogólne zalecenia.

Notatka

Jeśli masz trudności z używaniem produktu z przyczyn związanych z pamięcią, daj nam znać za pomocą narzędzia do przekazywania opinii.

Korzystanie z 64-bitowego systemu operacyjnego

W przypadku uaktualnienia systemu z 32-bitowej wersji systemu Windows do wersji 64-bitowej rozszerzysz ilość pamięci wirtualnej dostępnej dla programu Visual Studio z 2 GB do 4 GB. 64-bitowe uaktualnienie systemu operacyjnego umożliwia programowi Visual Studio obsługę większych obciążeń.

Aby uzyskać więcej informacji, zobacz Limity pamięci dla wersji systemu Windows i Windows Server.

Wskazówka

Program Visual Studio 2022 w systemie Windows to aplikacja 64-bitowa. Starsze wersje to 32-bitowe.

Wyłączanie automatycznego przywracania plików

Program Visual Studio automatycznie ponownie otwiera dokumenty, które zostały otwarte w poprzedniej sesji. Ta automatyczna akcja przywracania plików może wydłużyć czas ładowania rozwiązania o maksymalnie 30% lub więcej, w zależności od typu projektu i dokumentów, które są otwierane. Programy projektowe, takie jak Windows Forms i XAML, oraz niektóre pliki JavaScript i TypeScript, mogą otwierać się wolno.

Program Visual Studio powiadamia Cię na żółtym pasku, gdy automatyczne przywracanie dokumentu powoduje wolniejsze ładowanie rozwiązania. Automatyczne ponowne otwieranie pliku można wyłączyć, wykonując następujące kroki:

  1. Wybierz Narzędzia>Opcje, aby otworzyć okno dialogowe Opcje .

  2. Na stronie Projects and Solution>General (Projekty i rozwiązania) usuń zaznaczenie Ponownie otwórz dokumenty podczas ładowania rozwiązania.

Jeśli wyłączysz automatyczne przywracanie plików, szybkim sposobem na przejście do plików, które chcesz otworzyć, jest użycie jednego z poleceń Przejdź do:

  • Aby uzyskać ogólną funkcjonalność Przejdź do, wybierz Edytuj>Przejdź do>Przejdź do całościlub naciśnij Ctrl+T.

  • Przejdź do ostatniej lokalizacji edycji w rozwiązaniu przy użyciu edytuj>Przejdź do>Przejdź do lokalizacji ostatniej edycjilub naciskając Ctrl+Shift+Backspace.

  • Użyj opcji Przejdź do niedawno używanych plików, aby wyświetlić listę niedawno odwiedzonych plików w rozwiązaniu. Wybierz edytuj>Przejdź do>Przejdź do ostatniego plikulub naciśnij Ctrl+1, Ctrl+R.

Konfigurowanie opcji debugowania

Jeśli zwykle jest mało pamięci podczas sesji debugowania, możesz zoptymalizować wydajność, wprowadzając co najmniej jedną zmianę konfiguracji.

  • włączyć tylko mój kod

    Najprostszą optymalizacją jest włączenie funkcji Just My Code, która ładuje tylko symbole dla projektu. Włączenie tej funkcji może spowodować znaczne oszczędności pamięci na potrzeby debugowania aplikacji zarządzanych (.NET). Ta opcja jest już domyślnie włączona w niektórych typach projektów.

    Aby włączyć Just My Code, wybierz Tools>Options>Debugowanie>Ogólne, a następnie wybierz Włącz Just My Code.

  • Określ symbole do załadowania

    W przypadku debugowania natywnego ładowanie plików symboli (.pdb) jest kosztowne pod względem zasobów pamięci. Ustawienia symboli debugera można skonfigurować w celu zaoszczędzenie pamięci. Zazwyczaj rozwiązanie jest konfigurowane tak, aby ładowało tylko moduły z projektu.

    Aby określić ładowanie symboli, wybierz Narzędzia>Opcje>Debugowanie>Symbole.

    Ustaw opcje Załaduj tylko określone moduły zamiast Załaduj wszystkie moduły, a następnie określ moduły, które chcesz załadować. Podczas debugowania można również kliknąć prawym przyciskiem myszy określone moduły w oknie modułów, aby jawnie dołączyć moduł do ładowania symboli. (Aby otworzyć okno podczas debugowania, wybierz pozycję Debuguj moduły>Windows>.

    Aby uzyskać więcej informacji, zobacz Określanie symboli i plików źródłowych w debugerze.

  • wyłącz narzędzia diagnostyczne

    Zaleca się wyłączenie profilowania CPU po jego użyciu. Ta funkcja może zużywać duże ilości zasobów. Po włączeniu profilowania procesora CPU ten stan jest utrwalany w kolejnych sesjach debugowania, dlatego warto jawnie wyłączyć go po zakończeniu. Niektóre zasoby można zaoszczędzić, wyłączając narzędzia diagnostyczne podczas debugowania, jeśli nie potrzebujesz podanych funkcji.

    Aby wyłączyć narzędzia diagnostyczne , uruchom sesję debugowania, wybierz pozycję Narzędzia >Opcje>Debugowanie>Ogólne, a następnie odznacz opcję Włącz narzędzia diagnostyczne podczas debugowania.

    Aby uzyskać więcej informacji, zobacz Narzędzia profilowania.

Wyłączanie narzędzi i rozszerzeń

Niektóre narzędzia lub rozszerzenia można wyłączyć, aby zwiększyć wydajność.

Napiwek

Często można izolować problemy z wydajnością, wyłączając rozszerzenia pojedynczo i ponownie sprawdzając wydajność.

Zarządzana usługa językowa (Roslyn)

Aby uzyskać informacje o zagadnieniach dotyczących wydajności platformy kompilatora .NET ("Roslyn"), zobacz Zagadnienia dotyczące wydajności dla dużych rozwiązań.

  • Wyłącz CodeLens

    Visual Studio wykonuje zadanie Znajdź wszystkie odwołania dla każdej metody, gdy jest wyświetlana. CodeLens udostępnia funkcje, takie jak wyświetlanie w linii liczby odniesień. Praca jest wykonywana w osobnym procesie, takim jak ServiceHub.RoslynCodeAnalysisService32. W przypadku dużych rozwiązań lub w systemach ograniczonych zasobami ta funkcja może mieć znaczący wpływ na wydajność. Jeśli występują problemy z pamięcią, na przykład podczas ładowania dużego rozwiązania na maszynie 4 GB lub wysokiego użycia procesora CPU dla tego procesu, możesz wyłączyć funkcję CodeLens, aby zwolnić zasoby.

    Aby wyłączyć CodeLens, wybierz Narzędzia>Opcje>Edytor tekstu>Wszystkie języki>CodeLensi odznacz tę funkcję.

    Aby uzyskać więcej informacji, zobacz Znajdowanie zmian kodu i inną historię za pomocą funkcji CodeLens.

Inne narzędzia i rozszerzenia

  • wyłącz rozszerzenia

    Rozszerzenia to dodatkowe składniki oprogramowania dodane do programu Visual Studio, które zapewniają nowe funkcje lub rozszerzają istniejące funkcje. Rozszerzenia często mogą być źródłem problemów z zasobami pamięci. Jeśli występują problemy z zasobami pamięci, spróbuj jednocześnie wyłączyć rozszerzenia, aby zobaczyć, jak ma to wpływ na scenariusz lub przepływ pracy.

    Aby wyłączyć rozszerzenia, przejdź do Extensions>Manage Extensionsi wyłącz określone rozszerzenie.

  • Wyłącz tryb mapy

    tryb mapy wyświetla wiersze kodu w miniaturze na pasku przewijania. Tryb mapy jest domyślnie włączony.

    Aby wyłączyć tryb mapy, przejdź do NarzędziaOpcjeEdytor tekstuWszystkie językiPaski przewijania, a następnie w sekcji zachowanie usuń zaznaczenie opcji Użyj trybu mapy dla pionowego paska przewijania.

  • Wyłącz zawijanie wyrazów

    Zawijanie wierszy wyświetla część długiego wiersza kodu, która wykracza poza bieżącą szerokość okna edytora kodu. Zawijanie wyrazów jest domyślnie włączone.

    Aby wyłączyć zawijanie wyrazów dla projektu, nad którym aktualnie pracujesz, przejdź do Edytuj>Zaawansowane>Zawijanie tekstu. (To ustawienie można przełączać przy użyciu tych samych poleceń menu).

    Aby wyłączyć zawijanie wierszy dla wszystkich projektów, przejdź do Tools>Options>General>Text Editor>All Languages>Generali w sekcji Settings usuń zaznaczenie opcji Word wrap.

  • wyłącz projektanta XAML

    Projektant XAML jest domyślnie włączony, ale zużywa tylko zasoby, jeśli otworzysz plik .xaml. Jeśli pracujesz z plikami XAML, ale nie chcesz korzystać z funkcji projektanta, wyłącz tę funkcję, aby zwolnić pamięć.

    Aby wyłączyć projektanta XAML, przejdź do Tools>Options>XAML Designer>Enable XAML Designeri usuń zaznaczenie opcji.

  • Usuwanie obciążeń

    Możesz użyć Instalatora programu Visual Studio, aby usunąć obciążenia, które nie są już używane. Ta akcja może usprawnić koszt uruchamiania i środowiska uruchomieniowego, pomijając pakiety i zestawy, które nie są już potrzebne.

  • Dodawanie nieśledzonych plików do lokalnego pliku gitignore

    Program Visual Studio uruchamia polecenie Git git status z plikami nieśledzonymi, aby zapewnić płynne doświadczenie podczas dodawania nowych plików do repozytorium. Jeśli istnieje duża liczba nieśledzonych plików, git status może zużywać dodatkową pamięć. Aby zignorować te pliki i zwiększyć wydajność git status, możesz dodać te pliki lub foldery do lokalnego pliku gitignore. Aby uzyskać dostęp do pliku, przejdź do Ustawienia usługi Git>>Ustawienia repozytorium Git. Następnie w sekcji pliki Git wybierz pozycję Dodaj, aby utworzyć plik gitignore, lub wybierz pozycję Edytuj, jeśli masz już plik.

  • Włącz graf zatwierdzania w narzędziu Git

    Nowość w programie Visual Studio 2022 w wersji 17.2: Jeśli występują opóźnienia podczas wyświetlania repozytorium Git lub historii gałęzi w programie Visual Studio, zintegrowaliśmy funkcję "commit graph", która może pomóc. Aby użyć grafu zatwierdzń, upewnij się, że pobrać i zainstalować program Visual Studio 2022. Aby dowiedzieć się więcej na temat wykresu zatwierdzeń, zobacz wpis na blogu Supercharge your Git experience in Visual Studio (Ulepsz swoje doświadczenia z Git w programie Visual Studio).

Wymusić zbieranie śmieci

CLR używa systemu zarządzania pamięcią z wykorzystaniem mechanizmu zbierania 'śmieci'. W tym systemie czasami pamięć jest używana przez obiekty, które nie są już potrzebne. Ten stan jest tymczasowy; garbage collector zwalnia tę pamięć w oparciu o wydajność i heurystyki użycia zasobów. Możesz wymusić na CLR zebranie nieużywanej pamięci, używając klawisza skrótu w programie Visual Studio. Jeśli istnieje znaczna ilość śmieci oczekujących na zbiórkę i wymusisz ich usunięcie, powinieneś zauważyć spadek użycia pamięci procesu devenv.exe w Menedżerze zadań . Rzadko jest konieczne użycie tej metody. Jednak po zakończeniu kosztownej operacji (takiej jak pełna kompilacja, sesja debugowania lub otwarte zdarzenie rozwiązania), może to pomóc w ustaleniu, ile pamięci jest naprawdę używane przez proces. Ponieważ program Visual Studio jest mieszany (zarządzany & natywny), od czasu do czasu jest możliwe, aby natywny alokator i moduł odśmieceń pamięci konkurowały o ograniczone zasoby pamięci. W warunkach wysokiego użycia pamięci może to pomóc wymusić uruchomienie modułu odśmiecenia pamięci.

Aby wymusić zbieranie śmieci, użyj tego skrótu klawiaturowego: Ctrl+Alt+Shift+F12Ctrl+Alt+Shift+F12 (naciśnij go dwukrotnie).

Jeśli wymuszanie odzyskiwania pamięci niezawodnie sprawia, że scenariusz działa, zgłoś raport za pomocą narzędzia opinii Visual Studio, ponieważ to zachowanie prawdopodobnie jest błędem.

Aby uzyskać szczegółowy opis odśmiecacza CLR, zobacz Podstawy zbierania śmieci.