我們很高興地宣佈 Visual Studio 2022 的最新更新,它為您帶來了 IDE 各個領域的一系列效能增強。在這篇部落格中,我們將重點介紹17.10版本中一些最顯著的改進,比如更快的 Windows Forms 設計器載入、更快的 Razor 著色、更快的解決方案載入以及更少的 dll 開銷。
Windows Forms 設計器載入速度
我們從開發人員和合作夥伴那裡聽說,在.NET Core 3.1 及更高版本的專案中,Windows Forms 設計器的載入速度可能很慢。在這些情況下,設計器被載入到與 Visual Studio 一起執行的單獨程序中。載入此程序的時間可能很長,具體取決於專案的依賴項。當在某些情況下需要重新啟動此設計器程序時,例如當專案引用更改時,影響會加重。為了改善設計器重新啟時間,我們最佳化了如何確定優先順序並將程式集載入到設計器程序中。
我們很高興地宣佈,這些增強已經產生了顯著的設計時效能改進,在典型的業務應用程式中,從30%到驚人的50%不等。我們鼓勵您探索更新後的設計器,並透過 VS 反饋渠道分享您寶貴的反饋意見,以便我們能夠繼續改進 Windows Forms 設計器的效能。
Razor/C# 著色速度
為 C# 程式碼著色是一項複雜的操作。當 Razor 頁面中有 C# 程式碼時, Razor 會將這些程式碼的著色任務委託給 C# 語言服務(Roslyn)。我們的資料顯示,在大多數情況下,這種著色非常快,但大約10%的情況可能會持續數百毫秒。
Razor 編輯體驗的效能改進 是我們工程師始終關注的焦點;在17.10中,他們專注於緩慢的著色。在他們的分析中,他們發現 Roslyn 執行了大量的工作,而這些工作在程式碼著色的特定上下文中並不真正需要(例如,確定哪些變數可能為空)。
已經進行了最佳化,這樣 Roslyn 就可以完成在著色上下文中所需要的工作。根據17.10預覽版本的資料,我們注意到在最慢的情況下,著色時間減少了25%。如果您注意到 Razor 在著色前有延遲,我們希望您能注意到17.10的改進。
更快的 .NET 解決方案載入
開啟解決方案的速度是我們在 Visual Studio 的每次更新中都在改進的,17.10也不例外。Visual Studio 使用了一種稱為評估快取(evaluation cache)的東西,這樣在每次開啟解決方案時,MSBuild 都不必重新評估所有的依賴項。
在17.10中,這個快取的內容進行了大量的調優,以便更有效地載入它。我們對 OrchardCore 解決方案的測量表明,快取大小下降了近50%。對我們的使用者來說更重要的是,這使得開啟解決方案的時間減少了10%。
改善基礎
在17.10中,除了改進 CPU 和記憶體使用等基礎外,我們還減少了在特定場景中載入的 dll 數量。透過對載入 .NET 專案的程式碼進行仔細的重構和調優,我們將載入的 dll 數量減少了10%!在帶有機械硬碟的低端機器上載入 dll 可能很慢。此外,dll 載入會引起檢查 dll 的防毒軟體的開銷,因此我們希望這些改進將對較慢的機器有所幫助。
分享您的反饋並與 Visual Studio 保持聯絡!
我們感謝您花時間報告問題和提交建議,並希望您在使用 Visual Studio 時繼續給我們反饋,告訴我們您喜歡什麼以及我們可以改進什麼。您的反饋對於幫助我們使 Visual Studio 成為最好的工具至關重要!您可以透過開發者社群與我們分享反饋,透過傳送反饋來報告問題或分享您的建議,並分享您對新功能或改進現有功能的建議。
透過在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上關注我們與 Visual Studio 團隊保持聯絡。
我代表整個 Visual Studio 團隊,感謝您的閱讀和編碼愉快!
原文連結:https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-10-performance-enhancements/