找回密码
 立即注册
查看: 389|回复: 0

VS2022的智能感知性能提升了18倍

[复制链接]
发表于 2021-10-27 11:05 | 显示全部楼层 |阅读模式
是的,就是这么直白。

借助Visual Studio,我们希望构建一套最佳开发工具来增强游戏开发人员的生产效率。我们与 Epic Games联手,为虚幻引擎(Unreal Engine)开发人员在Visual Studio 2022中带来更快的语义突出显示和智能感知(IntelliSense)。

在今天的文章中,我们将详细介绍我们如何与虚幻引擎团队合作,实现新文件打开时智能感知启动时间的巨大优化。没错,18倍。

“我们一直在努力解决虚幻引擎解决方案中的Intellisense的性能问题,但这些变化是需要日积月累的改进才能做到的。通过更快的反馈和更少的等待,有助于开发人员专注于制作出色的游戏。” – Ben Marsh,Epic Games首席程序员

下面的测试结果显示了使用最新版的VS2022 预览版时打开Unreal Engine 4.27.1工程时的场景。



测试环境

我们在一台Intel Core i7-9700 @ 3Ghz处理器,64GB 内存和SSD硬盘的机器上打开Unreal 4.27.1的范例工程,并分别在VS2019 16.11.5和VS2022 预览版6中进行对比测试,测试结果是4次测试数据求平均值。
测试结果

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

相比之下,Visual Studio 2022 第一个文件准备就绪需要7.2秒,任何后续文件需要0.4秒。

分析

在之前的旧VS版本中,项目中的每个翻译单元、C++和头文件都是从头开始的,它们之间没有状态重用。重新打开同一个文件需要1秒钟的时间; 但是,由于 PCH 不在文件之间共享,因此第一次打开任何文件需要相同的时间来启动并初始化IntelliSense。

在使用 Visual Studio 2022 的 Unreal Engine 4.27.1 项目中,生成的项目文件被更新从而实现了翻译单元之间编译状态共享。 因此,在 Visual Studio 中切换文件时,语义代码着色和 IntelliSense的启动速度将大大加快(0.4 秒)。

此外,VS2022 中的C++ IntelliSense 改进能够将启动时间缩短1.5 倍,从 11 秒缩短到 7.4 秒。 这一变化将使所有使用 IntelliSense 的 C++ 开发人员受益,而不仅仅是虚幻引擎开发人员。
在你的项目中试试看

你需要在虚幻引擎编辑器中手动进行更新以应用更改。

> 单击编辑 -> 编辑器首选项 -> 源代码

> 将源代码编辑器更改为”Visual Studio 2022″

> 单击文件 -> 刷新 Visual Studio 2022 项目

> 点击 File -> Open Visual Studio 2022 在 Visual Studio 中打开项目

如果你在处理虚幻引擎源代码时使用 GenerateProjectFiles.bat,请使用“GenerateProjectFiles.bat -2022”生成更新后的项目文件。
总结

通过提升IntelliSense的启动时间,可以大大提升源文件打开速度,尽快地进入工作状态。

对于大型工程,这点尤为可贵。
最后

Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。

本文来自:《18x Faster IntelliSense for Unreal Engine Projects in Visual Studio 2022》
最近我写了个东西

正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。

我想:你值得拥有。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-23 07:25 , Processed in 0.090294 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表