Aracılığıyla paylaş


Visual Studio performans ipuçları ve püf noktaları

Visual Studio performans önerileri, nadir durumlarda ortaya çıkabilecek düşük bellek durumlarına yöneliktir. Bu gibi durumlarda, kullanmadığınız bazı Visual Studio özelliklerini iyileştirebilirsiniz. Aşağıdaki ipuçları genel öneriler olarak tasarlanmamıştır.

Not

Bellek sorunları nedeniyle ürünü kullanmakta güçlük çekiyorsanızgeri bildirim aracı aracılığıyla bize bildirin.

64 bit işletim sistemi kullanma

Sisteminizi Windows'un 32 bit sürümünden 64 bit sürümüne yükseltirseniz, Visual Studio için kullanılabilir sanal bellek miktarını 2 GB'tan 4 GB'a genişletirsiniz. 64 bit işletim sistemi yükseltmesi, Visual Studio'nın daha büyük iş yüklerini işlemesini sağlar.

Daha fazla bilgi için bkz. Windows ve Windows Server sürümleri için Bellek Sınırları.

Bahşiş

Windows üzerinde Visual Studio 2022, 64 bitlik bir uygulamadır. Önceki sürümler 32 bit'lerdir.

Otomatik dosya geri yüklemeyi devre dışı bırakma

Visual Studio, önceki oturumda açık bırakılan belgeleri otomatik olarak yeniden açar. Bu otomatik dosya geri yükleme eylemi, proje türüne ve açılan belgelere bağlı olarak çözümü yükleme süresini 30% veya daha fazla uzatabilir. Windows Forms ve XAML gibi tasarımcılar ve bazı JavaScript ve TypeScript dosyaları yavaş açılabilir.

Visual Studio, otomatik belge geri yükleme işlemi çözümün daha yavaş yüklenmesine neden olduğunda sizi sarı bir çubukta bildirir. Aşağıdaki adımları izleyerek otomatik dosya yeniden açmayı devre dışı bırakabilirsiniz:

  1. Seçenekleri iletişim kutusunu açmak için Araçları>Seçenekleri'ni seçin.

  2. Projeler ve Çözüm>Genel sayfasında, Çözüm yüklendiğinde belgeleri yeniden açseçimini kaldırın.

Otomatik dosya geri yüklemeyi devre dışı bırakırsanız, açmak istediğiniz dosyalara gitmenin hızlı bir yolu Git komutlarından birini kullanmaktır:

  • Genel Git işlevselliği için Düzenle>Git>Tümüne Gitseçeneğini seçin veya Ctrl+Ttuşlarına basın.

  • Düzenle>Git>Son Düzenleme Konumuna Gitkullanarak veya Ctrl+Shift+Geri Altuşlarına basarak çözümdeki son düzenleme konumuna atlayın.

  • Çözümde son ziyaret edilen dosyaların listesini görmek için Son Dosyaya Git kullanın. Seç Düzenle>Git>Son Dosyaya Gitveya Ctrl+1, Ctrl+Rtuşlarına basın.

Hata ayıklama seçeneklerini yapılandırma

Hata ayıklama oturumları sırasında genellikle belleğiniz azaldıysa, bir veya daha fazla yapılandırma değişikliği yaparak performansı iyileştirebilirsiniz.

  • Yalnızca Benim Kodumu Etkinleştir

    En basit iyileştirme, yalnızca projeniz için sembolleri yükleyen Yalnızca Kodum özelliğini etkinleştirmektir. Bu özelliğin etkinleştirilmesi, yönetilen uygulamalarda (.NET) hata ayıklama için önemli bir bellek tasarrufuna neden olabilir. Bu seçenek bazı proje türlerinde varsayılan olarak zaten etkindir.

    Yalnızca Kodumetkinleştirmek için, AraçlarıSeçenekleriHata AyıklamaGenel'ı seçin ve ardından Yalnızca KodumEtkinleştir'i seçin.

  • Yüklenecek simgeleri belirtin

    Yerel hata ayıklama için, bellek kaynakları açısından sembol dosyalarının (.pdb) yüklenmesi pahalıdır. Bellek tasarrufu yapmak için hata ayıklayıcısı sembol ayarlarınızı yapılandırabilirsiniz. Genellikle çözümü yalnızca projenizden modülleri yüklenecek şekilde yapılandırabilirsiniz.

    Simge yüklemeyi belirtmek için Araçları>Seçenekleri'ni seçin>Hata Ayıklama>Simgeleri.

    tüm modülleri yükle yerine yalnızca belirtilen modülleri yükle seçeneklerini ayarlayın ve ardından hangi modülleri yüklemek istediğinizi belirtin. Hata ayıklama sırasında, sembol yüküne açıkça bir modül eklemek için Modüller penceresinde belirli modüllere sağ tıklayabilirsiniz. (Hata ayıklarken pencereyi açmak için WindowsModüllerihata ayıklama seçin.)

    Daha fazla bilgi için bkz. Hata ayıklayıcıda sembol ve kaynak dosyaları belirtme.

  • Tanılama Araçlarını Devre Dışı Bırakma

    Kullanımdan sonra CPU profili oluşturmayı devre dışı bırakmanız önerilir. Bu özellik büyük miktarda kaynak tüketebilir. CPU profili oluşturma etkinleştirildikten sonra, bu durum sonraki hata ayıklama oturumlarında kalıcı hale gelir, bu nedenle bittiğinde bunu açıkça kapatmaya değer. Sağlanan özelliklere ihtiyacınız yoksa, hata ayıklarken tanılama araçlarını devre dışı bırakarak bazı kaynaklardan tasarruf edebilirsiniz.

    Tanılama Araçlarıdevre dışı bırakmak için bir hata ayıklama oturumu başlatın, AraçlarSeçenekleriHata AyıklamaGenelöğesini seçin ve ardından hata ayıklarken Tanılama Araçlarını Etkinleştir seçeneğinin seçimini kaldırın.

    Daha fazla bilgi için bkz. profil oluşturma araçları.

Araçları ve uzantıları devre dışı bırakma

Performansı artırmak için bazı araçlar veya uzantılar kapatılabilir.

Bahşiş

Genellikle uzantıları birer birer kapatıp performansı yeniden denetleyerek performans sorunlarını yalıtabilirsiniz.

Yönetilen dil hizmeti (Roslyn)

.NET Derleyici Platformu ("Roslyn") performans konuları hakkında bilgi için bkz. büyük çözümler için performans konuları.

  • CodeLens devre dışı bırakma

    Visual Studio, her yöntem görüntülenirken Tüm Başvuruları Bul görevini yürütür. CodeLens, referans sayısının satır içi görüntülenmesi gibi özellikler sağlar. İş, ServiceHub.RoslynCodeAnalysisService32gibi ayrı bir işlemde gerçekleştirilir. Büyük çözümlerde veya kaynak kısıtlanmış sistemlerde bu özelliğin performans üzerinde önemli bir etkisi olabilir. Örneğin, 4 GB'lık bir makineye büyük bir çözüm yüklerken veya bu işlem için yüksek CPU kullanımıyla ilgili bellek sorunlarıyla karşılaşıyorsanız, kaynakları boşaltmak için CodeLens'i devre dışı bırakabilirsiniz.

    CodeLensdevre dışı bırakmak için, Araçlar>Seçenekler>Metin Düzenleyicisi>Tüm Diller>CodeLens'i seçin ve özelliği devre dışı bırakın.

    Daha fazla bilgi için bkz. CodeLensile kod değişikliklerini ve diğer geçmişi bulma .

Diğer araçlar ve uzantılar

  • Uzantıları Devre Dışı Bırak

    Uzantılar, Visual Studio'ya eklenen ve yeni işlevler sağlayan veya mevcut işlevselliği genişleten ek yazılım bileşenleridir. Uzantılar genellikle bellek kaynağı sorunlarının kaynağı olabilir. Bellek kaynağı sorunlarıyla karşılaşıyorsanız, senaryoyu veya iş akışını nasıl etkilediğini görmek için uzantıları birer birer devre dışı bırakmayı deneyin.

    Uzantıları devre dışı bırakmak için Uzantıları>Uzantıları Yönet'e gidin ve belirli bir uzantıyı devre dışı bırakın.

  • Harita modunu devre dışı bırakma

    Harita modu kaydırma çubuğunda kod satırlarını minyatür olarak görüntüler. Harita modu varsayılan olarak etkindir.

    Harita modunu devre dışı bırakmak için, AraçlarıSeçenekleriMetin DüzenleyicisiTüm DillerKaydırma Çubuklarıbölümüne gidin ve Davranış bölümünde Dikey kaydırma çubuğu için harita modunu kullan seçeneğinin seçimini kaldırın.

  • Sözcük kaydırmayı devre dışı bırak

    Kelime kaydırma, kod düzenleyici penceresinin mevcut genişliğini aşan uzun bir kod satırının kısmını gösterir. Metin kaydırma varsayılan olarak açıktır.

    Üzerinde çalışmakta olduğunuz bir projede sözcük kaydırmayı devre dışı bırakmak için Gelişmiş>Düzenle>Word Kaydırmabölümüne gidin. (Aynı menü komutlarını kullanarak bu ayarı değiştirebilirsiniz.)

    Tüm projelerde sözcük kaydırmayı devre dışı bırakmak için, Tüm DillerGenelGenelMetin DüzenleyicisiAraçlarıSeçenekleri'ne gidin ve Ayarlar bölümünde Word kaydırma seçeneğinin seçimini kaldırın.

  • XAML Tasarımcısı Devre Dışı Bırak

    XAML tasarımcısı varsayılan olarak etkindir, ancak yalnızca .xaml dosyasını açtığınızda kaynakları kullanır. XAML dosyalarıyla çalışıyor ancak tasarımcı işlevselliğini kullanmak istemiyorsanız, bellek boşaltmak için bu özelliği devre dışı bırakın.

    XAML Tasarımcısı'nı devre dışı bırakmak için XAML TasarımcısıAraçlarıSeçenekleri'ne gidinXAML Designer'ı etkinleştirin ve seçeneğin seçimini kaldırın.

  • İş yüklerini kaldırma

    Artık kullanılmayan iş yüklerini kaldırmak için Visual Studio Yükleyicisi'ni kullanabilirsiniz. Bu eylem, artık gerekli olmayan paketleri ve derlemeleri atlayarak başlangıç ve çalışma zamanı maliyetini kolaylaştırabilir.

  • İzlenmeyen dosyaları yerel .gitignore dosyasına ekle

    Visual Studio, depoya yeni dosyalar eklediğinizde sorunsuz bir deneyim sağlamak için git komutunu git status izlenmeyen dosyalarla çalıştırır. çok sayıda izlenmeyen dosya olduğunda, git status ek bellek kullanabilir. Bu dosyaları yoksaymak ve git statusperformansını artırmak için, bu dosyaları veya klasörleri yerel .gitignore dosyanıza ekleyebilirsiniz. Dosyaya erişmek için GitAyarlarıGit Deposu Ayarlarıgidin. Önce, Git dosyaları bölümünde, bir .gitignore dosyası oluşturmak için Ekle’yi seçin veya mevcutsa Düzenle’yi seçin.

  • Git araçlarında commit grafiğini etkinleştirme

    Visual Studio 2022 sürüm 17.2'de Yeni: Visual Studio'da Git deponuzu veya dal geçmişinizi görüntülerken gecikmeler yaşıyorsanız, yardımcı olabilecek bir "işlem grafiği" özelliği uyguladık. İşleme grafiğini kullanmak için Visual Studio 2022'yi indiripyüklediğinizden emin olun. İşleme grafiği hakkında daha fazla bilgi edinmek için, Visual Studio'da Git deneyiminizi Güçlendirin başlıklı blog gönderisine bakın.

Çöp toplama işlemini zorla başlat

CLR bir çöp toplama bellek yönetim sistemi kullanır. Bu sistemde bazen bellek artık gerekli olmayan nesneler tarafından kullanılır. Bu durum geçicidir; çöp toplayıcısı, performansına ve kaynak kullanımı buluşsal özelliklerine göre bu belleği serbest bırakır. Visual Studio'da kısayol tuşu kullanarak CLR'yi kullanılmayan belleği toplamaya zorlayabilirsiniz. Toplanmayı bekleyen büyük miktarda çöp varsa ve manuel olarak bir çöp toplama işlemi başlatırsanız, devenv.exe işlem bellek kullanımında azalma olduğunu Görev Yöneticisiiçinde görmeniz gerekir. Bu yöntemin kullanılması nadiren gereklidir. Ancak, pahalı bir işlem tamamlandıktan sonra (tam derleme, hata ayıklama oturumu veya çözüm açık olayı gibi), işlem tarafından gerçekten ne kadar bellek kullanıldığını belirlemenize yardımcı olabilir. Visual Studio karma olduğundan (yönetilen & yerel), bazen yerel ayırıcının ve çöp toplayıcının sınırlı bellek kaynakları için rekabete sahip olması mümkündür. Yüksek bellek kullanımı koşulları altında, çöp toplayıcıyı çalışmaya zorlamaya yardımcı olabilir.

Çöp toplamayı zorlamak için şu klavye kısayolunu kullanın: Ctrl+Alt+Shift+F12Ctrl+Alt+Shift+F12 (iki kez basın).

Çöp toplamayı zorlamak senaryonuzun güvenilir bir şekilde çalışmasını sağlıyorsa, Visual Studio geri bildirim aracı aracılığıyla bir rapor, bu davranış büyük olasılıkla bir hata olabilir.

CLR çöp toplayıcısının ayrıntılı açıklaması için bkz. Çöp toplamanın temelleri.