文章图片
文章图片
是的 , 就是这么直白 。
借助Visual Studio , 我们希望构建一套最佳开发工具来增强游戏开发人员的生产效率 。 我们与 Epic Games联手 , 为虚幻引擎(Unreal Engine)开发人员在Visual Studio 2022中带来更快的语义突出显示和智能感知(IntelliSense) 。
在今天的文章中 , 我们将详细介绍我们如何与虚幻引擎团队合作 , 实现新文件打开时智能感知启动时间的巨大优化 。 没错 , 18倍 。
“我们一直在努力解决虚幻引擎解决方案中的Intellisense的性能问题 , 但这些变化是需要日积月累的改进才能做到的 。 通过更快的反馈和更少的等待 , 有助于开发人员专注于制作出色的游戏 。 ” – Ben Marsh , Epic Games首席程序员
下面的测试结果显示了使用最新版的VS2022 预览版时打开Unreal Engine 4.27.1工程时的场景 。
【C++|VS2022的智能感知性能提升了18倍】
测试环境我们在一台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》
- 大白鲨|10条关于大白鲨的冷知识,幼鲨在母亲子宫里就开始互相残杀
- 航天器|由于气候变暖,越来越多的信天翁“离婚”了
- 恐龙|世界上最重要的8种恐龙,可能与你想象的不同
- 滴滴出行|滴滴消失4个月后,开始另寻出路,盯上美团王兴的生意?
- |揭开元宇宙快乐背后的真相,原来是八段锦底层逻辑的永生
- 彗星|史前人类的崛起之路
- 航天器|氧气会耗尽吗?氧气真的会消失吗?氧气是怎么来的?二氧化碳的危害
- 外星人|外星人一定是“人”吗?他们的存在形式或超乎想象!
- 双十二|Web前端培训:一些常见的HTML代码验证器
- 太空望远镜|即将发射的韦伯太空望远镜有多牛?可以在月球上探测到地球上一只黄蜂的热量特征