LoginSignup
14
7

More than 1 year has passed since last update.

[Visual Studio 2022] Unreal Engine プロジェクトの IntelliSense が 18 倍も早くなりました!

Posted at

皆さんごきげんよう。今回は、10 月 25 日 (米国時間) に公開された以下のブログの翻訳というか意訳となります。原本は以下となります。


Visual Studio は、ゲームデベロッパーの皆さんにとって、最高のツールでありたいと思っています。
そんなわけで、Epic Games と協力して、Unreal Engine デベロッパー向けに、セマンティック ハイライトと intelliSense の高速化を Visual Studio 2022 で実現しました。
本ブログ記事では、Unreal Engine チームと協力してエディタで新しいファイルを開いたときに IntelliSense が開始できるまでの時間を、18 倍も大幅に短縮した方法を詳しく紹介したいとおもいます。

"Unreal Engine のソリューションでは、IntelliSense のパフォーマンスにいつも苦労していましたが、今回の変更で日に日に改善されていきました。フィードバックが早くなり、待ち時間が少なくなったことで、素晴らしいゲーム作りに集中できるようになりました" - *Epic Gamesのリードプログラマー、Ben Marsh氏

この変更は、最新の Visual Studio 2022 Preview を使用している Unreal Engine 4.27.1 プロジェクトから利用可能です。

パフォーマンスの比較

  • Intel Core i7-9700 @ 3Ghz、64GB RAM、SSD 搭載デスクトップ マシン
  • Unreal Engine 4.27.1 のサンプル プロジェクトを使用
  • 環境は Visual Studio 2019 16.11.5 と Visual Studio 2022 Preview 6 上

上記条件で、4 回テスト実行を行い、結果のアベレージを取りました。

テスト結果

Visual Studio 2019 上でファイルを開いた場合、IntelliSense の準備が整い、セマンティック コードの色付け表示されるまでに 11.0 秒かかりました。別のファイルを開いても、同じ状態になるまでに同程度時間を要することになりました。ちなみに同じファイルを閉じて再び開くと、準備完了状態になるまでは 1.0 秒程度でした。

一方、Visual Studio 2022 では、最初のファイルの準備完了までに 7.2 秒、それ以降のファイルの準備完了までわずか 0.4 秒でした。

img
↓↓↓
img

結果について考えてみる

変更前は、プロジェクトの C++ ファイルやヘッダー ファイルなどの各 Translation の単位では、ファイル間で状態が再利用されず、ゼロから対応開始されます。同じファイルを再度開く際は 1 秒程度で済みますが、ファイル間で PCH が共有されていないため、どのファイルを初めて開く場合でも、セマンティック ハイライトが表示され、IntelliSense の準備が整うまで同じ時間がかかってしまうのです。

一方、Visual Studio 2022 を 使用した Unreal Engine 4.27.1 プロジェクトでは、生成されたプロジェクト ファイルが更新され、Translation ユニット間で IntelliSense がコンパイル状態を共有するように設定されます。これによって、セマンティック コードのカラー化と IntelliSense による補完が、Visual Studio でのファイル切り替え時に 0.4 秒程度と、飛躍的に早く利用できるようになるのです。

Visual Studio 2022 での C++ IntelliSense の改良により、準備時間が 11 秒から 7.4 秒へと約 1.5倍短縮されました。この変更は、Unreal Engine デベロッパーの皆さんだけでなく、IntelliSense を使用しているすべての C++ デベロッパーのみなさんにメリットがあります。

変更をプロジェクトに適用する方法

現在、変更を適用するためには、Unreal Engine エディタで手動でアップデートを行う必要があります

※注 : 以下は英語版の UI に準拠した説明となります

  1. [Edit] → Editor Preferences → [Source Code] をクリックします。
  2. ソースコードエディタを Visual Studio 2022 に変更します。
  3. [File] → [Refresh Visual Studio 2022 Project] をクリックします。
  4. [File] → [Open Visual Studio 2022] をクリックして、Visual Studio でプロジェクトを開きます。

Unreal Engine のソースコードを扱う際に GenerateProjectFiles.bat を使用している場合は、以下を使用して、変更を加えたプロジェクトファイルを生成します。

GenerateProjectFiles.bat -2022

フィードバック超待ってます!

Visual Studio でのゲームデベロッパーの皆様の使い勝手をより良いものにしていくための方法について、フィードバックをいただいています。Visual Studio 2022 の開発サイクルを通じて、今回のブログ ポストでご紹介したような改善を続けていく所存です。今回触れたような、生産性の向上は、ゲームデベロッパーの皆さんにとって、どのような効果があるでしょうか?また、Visual Studio に他にどのような機能強化があるといいなとお考えでしょうか。
ツイッター(@VisualC)、またはメール(visualcpp@microsoft.com)でお聞かせください。

Visual Studio 2022 リリース決まりましたよ!

Visual Studio 2022 は 2021 年 11 月 8 日 (米国時間) に発売されます。最新の Visual Studio 2022 Preview をダウンロードいただき、生産性向上など、最新の VS ならではのメリットをぜひためしてくださいませ!


以上、David Li さんでした。
それではみなさん、ごきげんよう。

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7