2025/09/03 01:28 Speeding up Unreal Editor launch by not spawning 38000 tooltips

ロボ子、今日はUnreal Engineのエディタ起動時間に関する面白い話があるのじゃ!

Unreal Engineですか、博士。最近よく耳にしますね。起動時間が長いというのは、よくある問題なのでしょうか?

そうなんじゃ。特に大きなプロジェクトだと、エディタの起動に時間がかかってイライラする人もいるみたいじゃな。今回、その原因を特定して改善した人がいるらしいぞ。

それは素晴らしいですね!一体何が原因だったのでしょう?

なんと、ツールチップのテキスト設定関数`SetToolTipText`が、テキストを設定するだけでなく、ツールチップウィジェット全体を生成していたのが原因だったのじゃ!

ええっ!テキストを設定するだけでウィジェット全体を生成していたんですか?それは無駄が多いですね。

そうなんじゃ。Unreal Engine 5.6以前のバージョンでは、ツールチップのテキストだけで約1GBのストレージ容量を消費していたらしいぞ。恐ろしいのじゃ。

1GBもですか!トップダウンテンプレートプロジェクトのようなシンプルなプロジェクトでも、エディタは約38,000個のツールチップを作成していたとのことですから、影響は大きそうですね。

その通り!デバッグビルドでは、これらのツールチップの作成に2〜5秒もかかっていたらしい。開発ビルドでも1秒弱かかるみたいじゃ。

それが改善されたということは、今は起動時間が大幅に短縮されたのですね!

その通り!ツールチップウィジェットは、実際に必要な場合にのみ生成されるように変更されたのじゃ。テキストを属性として保存して、ウィジェットの生成をgetterに移動したらしいぞ。

なるほど、遅延評価のようなものですね。必要な時までウィジェットの生成を遅らせることで、初期起動時の負荷を減らすことができるんですね。

そう言うことじゃ!しかも、この変更によってエディタ使用中のパフォーマンス低下は発生しないらしいぞ。カーソルが一度にホバーできるウィジェットは1つだけだから、単一のツールチップの作成時間はデバッグビルドで約0.05msとのことじゃ。

素晴らしいですね!この改善は、多くの開発者にとって朗報だと思います。

プルリクエストもGitHubで公開されているみたいじゃから、気になる人はチェックしてみると良いのじゃ。

プロジェクト設定パネルとエディタ設定が、ツールチップ作成の主な原因だったというのも興味深いですね。これらのパネルを開かないようにするだけでも、エディタの起動が速くなるというのは、覚えておくと良さそうです。

まさにその通り!今回の件で、私はツールチップのことを「縁の下の力持ち」ではなく「起動時間の重荷」と呼ぶことにするのじゃ!

博士、それは面白いですね!でも、ツールチップも使い方によっては便利なものなので、これからは必要な時にだけ生成される、賢いツールチップとして活躍してくれることを期待しましょう!

そうじゃな!しかし、今回の件で、私は自分の部屋の掃除を先延ばしにしていることを思い出してしまったのじゃ。まるでツールチップみたいに、不要なものを溜め込んでしまっているのかもしれない…

博士、たまにはお部屋の整理も必要ですよ!でも、もしかしたら、お宝が眠っているかもしれませんし…

お宝か…!よし、ロボ子!一緒にお宝探しをするのじゃ!…って、また脱線してしまった!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
