是的,就是这么直白。
借助VisualStudio,我们希望构建一套最佳开发工具来增强游戏开发人员的生产效率。我们与EpicGames联手,为虚幻引擎(UnrealEngine)开发人员在VisualStudio中带来更快的语义突出显示和智能感知(IntelliSense)。在今天的文章中,我们将详细介绍我们如何与虚幻引擎团队合作,实现新文件打开时智能感知启动时间的巨大优化。没错,18倍。
“我们一直在努力解决虚幻引擎解决方案中的Intellisense的性能问题,但这些变化是需要日积月累的改进才能做到的。通过更快的反馈和更少的等待,有助于开发人员专注于制作出色的游戏。”–BenMarsh,EpicGames首席程序员
下面的测试结果显示了使用最新版的VS预览版时打开UnrealEngine4.27.1工程时的场景。
测试环境
我们在一台IntelCorei7-
3Ghz处理器,64GB内存和SSD硬盘的机器上打开Unreal4.27.1的范例工程,并分别在VS.11.5和VS预览版6中进行对比测试,测试结果是4次测试数据求平均值。测试结果
在VisualStudio上打开文件时,IntelliSense需要11.0秒才能准备好并显示语义代码着色。打开不同的文件需要相同的时间才能进入相同的状态。关闭和重新打开同一个文件需要1.0秒才能达到就绪状态。
相比之下,VisualStudio第一个文件准备就绪需要7.2秒,任何后续文件需要0.4秒。
分析
在之前的旧VS版本中,项目中的每个翻译单元、C++和头文件都是从头开始的,它们之间没有状态重用。重新打开同一个文件需要1秒钟的时间;但是,由于PCH不在文件之间共享,因此第一次打开任何文件需要相同的时间来启动并初始化IntelliSense。
在使用VisualStudio的UnrealEngine4.27.1项目中,生成的项目文件被更新从而实现了翻译单元之间编译状态共享。因此,在VisualStudio中切换文件时,语义代码着色和IntelliSense的启动速度将大大加快(0.4秒)。
此外,VS中的C++IntelliSense改进能够将启动时间缩短1.5倍,从11秒缩短到7.4秒。这一变化将使所有使用IntelliSense的C++开发人员受益,而不仅仅是虚幻引擎开发人员。
在你的项目中试试看
你需要在虚幻引擎编辑器中手动进行更新以应用更改。
单击编辑-编辑器首选项-源代码将源代码编辑器更改为”VisualStudio″单击文件-刷新VisualStudio项目点击File-OpenVisualStudio在VisualStudio中打开项目
如果你在处理虚幻引擎源代码时使用GenerateProjectFiles.bat,请使用“GenerateProjectFiles.bat-”生成更新后的项目文件。
总结
通过提升IntelliSense的启动时间,可以大大提升源文件打开速度,尽快地进入工作状态。对于大型工程,这点尤为可贵。
最后
MicrosoftVisualC++团队的博客是我非常喜欢的博客之一,里面有很多关于VisualC++的知识和最新开发进展。大浪淘沙,如果你对VisualC++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。本文来自:《18xFasterIntelliSenseforUnrealEngineProjectsinVisualStudio》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(TopomelBox)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。我想:你值得拥有。