皆さんごきげんよう。今回は、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 秒でした。
#結果について考えてみる
変更前は、プロジェクトの 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 に準拠した説明となります
- [
Edit
] → [Editor Preferences
] (エディタの環境設定) → [Source Code
] をクリックします。 - ソースコードエディタを Visual Studio 2022 に変更します。
- [
File
] → [Refresh Visual Studio 2022 Project
] をクリックします。 - [
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 さんでした。
それではみなさん、ごきげんよう。