10 月 26 日消息,据 Neowin 报道,此前微软已经宣布 Visual Studio 2022 正式版将在 11 月 8 日推出,由于该 IDE 在过去几个月里已经在 Windows 和 Mac 上进行了预览测试,所以开发者对期待的东西已经有了相当的了解。

Visual Studio 2022 将支持 64 位版本,支持.NET 6 和 C++ 20,为核心调试器提供更好的性能,并在实时共享会话中支持文本聊天。它为 IntelliCode 引擎提供了更多的功能,改进了代码搜索,并提供了更好的异步协作,与提交和审查 GitHub 等平台的 Pull Request 有关的新逻辑。在 Windows 上,它对用户界面的可访问性进行了改进,而在 Mac 上,它还具有升级的用户界面 UI,利用了原生 macOS 的用户界面元素。

现在,微软已经透露,它还与 Epic Games 合作,为虚幻引擎开发者提高了 Visual Studio 2022 的性能。这是通过使语义高亮和 IntelliSense 在利用该技术栈的项目中启动得更快来实现的。

微软测试了 Visual Studio 2019 16.11.5 和 Visual Studio 2022 Preview 6 之间的性能差异。测试是在一台搭载 3GHz Core i7-9700 处理器、64GB 内存和 SSD 的设备上使用虚幻引擎 4.27.1 样本项目进行的。进行了四次运行,其结果的平均值可以在下面看到。

结果

在 Visual Studio 2019 上打开一个文件时,IntelliSense 需要 11.0 秒才能准备好,并且语义代码着色也要显示出来。打开一个不同的文件需要同样的时间来达到相同的状态。关闭并重新打开同一个文件,需要 1.0 秒才能达到准备状态。

相比之下,Visual Studio 2022 花了 7.2 秒的时间来准备第一个文件,对于任何后续的文件来说,花了 0.4 秒。

▲ 显示 Visual Studio 2019 与 2022 中 IntelliSense 启动性能改进的图表

分析

在改变之前,每个翻译单元,即你项目中的 C++ 和头文件,都是从头开始的,它们之间没有状态重用。重新打开同一个文件需要 1 秒钟;但是,由于文件之间没有共享 PCH,所以第一次打开任何文件都需要同样的时间来显示语义高亮和 IntelliSense 准备好。

在使用 Visual Studio 2022 的虚幻引擎 4.27.1 项目中,生成的项目文件被更新,以配置 IntelliSense 在各翻译单元之间共享编译状态。因此,在 Visual Studio 中切换文件时,语义代码着色和 IntelliSense 完成的速度将大大加快(0.4 秒)。

此外,VS2022 中的 C++ IntelliSense 改进能够将准备时间降低 1.5 倍,从 11 秒降至 7.4 秒。这一变化将使所有使用 IntelliSense 的 C++ 开发人员受益,而不仅仅是虚幻引擎开发人员。

Epic Games 首席程序员 Ben Marsh 对与微软的合作以及整体的好处有以下的看法。

“在虚幻引擎解决方案中,我们一直在为 IntelliSense 的性能挣扎,但是这些变化展示了巨大的改进。更快的反馈和更少的等待有助于开发人员继续专注于制作令人惊叹的游戏。”