ITBear旗下自媒體矩陣:

微軟:在 Visual Studio 2022 中使用虛幻引擎項(xiàng)目時(shí),IntelliSense 啟動速度快了 18 倍

   時(shí)間:2021-10-26 15:44:47 來源:IT之家編輯:星輝 發(fā)表評論無障礙通道

10 月 26 日消息,據(jù) Neowin 報(bào)道,此前微軟已經(jīng)宣布 Visual Studio 2022 正式版將在 11 月 8 日推出,由于該 IDE 在過去幾個(gè)月里已經(jīng)在 Windows 和 Mac 上進(jìn)行了預(yù)覽測試,所以開發(fā)者對期待的東西已經(jīng)有了相當(dāng)?shù)牧私狻?/p>

Visual Studio 2022 將支持 64 位版本,支持.NET 6 和 C++ 20,為核心調(diào)試器提供更好的性能,并在實(shí)時(shí)共享會話中支持文本聊天。它為 IntelliCode 引擎提供了更多的功能,改進(jìn)了代碼搜索,并提供了更好的異步協(xié)作,與提交和審查 GitHub 等平臺的 Pull Request 有關(guān)的新邏輯。在 Windows 上,它對用戶界面的可訪問性進(jìn)行了改進(jìn),而在 Mac 上,它還具有升級的用戶界面 UI,利用了原生 macOS 的用戶界面元素。

現(xiàn)在,微軟已經(jīng)透露,它還與 Epic Games 合作,為虛幻引擎開發(fā)者提高了 Visual Studio 2022 的性能。這是通過使語義高亮和 IntelliSense 在利用該技術(shù)棧的項(xiàng)目中啟動得更快來實(shí)現(xiàn)的。

Image UnrealPCHOld30s

微軟測試了 Visual Studio 2019 16.11.5 和 Visual Studio 2022 Preview 6 之間的性能差異。測試是在一臺搭載 3GHz Core i7-9700 處理器、64GB 內(nèi)存和 SSD 的設(shè)備上使用虛幻引擎 4.27.1 樣本項(xiàng)目進(jìn)行的。進(jìn)行了四次運(yùn)行,其結(jié)果的平均值可以在下面看到。

結(jié)果

在 Visual Studio 2019 上打開一個(gè)文件時(shí),IntelliSense 需要 11.0 秒才能準(zhǔn)備好,并且語義代碼著色也要顯示出來。打開一個(gè)不同的文件需要同樣的時(shí)間來達(dá)到相同的狀態(tài)。關(guān)閉并重新打開同一個(gè)文件,需要 1.0 秒才能達(dá)到準(zhǔn)備狀態(tài)。

相比之下,Visual Studio 2022 花了 7.2 秒的時(shí)間來準(zhǔn)備第一個(gè)文件,對于任何后續(xù)的文件來說,花了 0.4 秒。

▲ 顯示 Visual Studio 2019 與 2022 中 IntelliSense 啟動性能改進(jìn)的圖表

分析

在改變之前,每個(gè)翻譯單元,即你項(xiàng)目中的 C++ 和頭文件,都是從頭開始的,它們之間沒有狀態(tài)重用。重新打開同一個(gè)文件需要 1 秒鐘;但是,由于文件之間沒有共享 PCH,所以第一次打開任何文件都需要同樣的時(shí)間來顯示語義高亮和 IntelliSense 準(zhǔn)備好。

在使用 Visual Studio 2022 的虛幻引擎 4.27.1 項(xiàng)目中,生成的項(xiàng)目文件被更新,以配置 IntelliSense 在各翻譯單元之間共享編譯狀態(tài)。因此,在 Visual Studio 中切換文件時(shí),語義代碼著色和 IntelliSense 完成的速度將大大加快(0.4 秒)。

此外,VS2022 中的 C++ IntelliSense 改進(jìn)能夠?qū)?zhǔn)備時(shí)間降低 1.5 倍,從 11 秒降至 7.4 秒。這一變化將使所有使用 IntelliSense 的 C++ 開發(fā)人員受益,而不僅僅是虛幻引擎開發(fā)人員。

Epic Games 首席程序員 Ben Marsh 對與微軟的合作以及整體的好處有以下的看法。

“在虛幻引擎解決方案中,我們一直在為 IntelliSense 的性能掙扎,但是這些變化展示了巨大的改進(jìn)。更快的反饋和更少的等待有助于開發(fā)人員繼續(xù)專注于制作令人驚嘆的游戲。”

舉報(bào) 0 收藏 0 打賞 0評論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容
網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系方式  |  版權(quán)聲明  |  RSS訂閱  |  開放轉(zhuǎn)載  |  滾動資訊  |  爭議稿件處理  |  English Version