Azure環境でUnarel Engineを使ったPixel Streamingのアプリケーションを開発している。
OCI環境でも同様のアプリを使っており、Azureに移植しているが、OCIに比べAzure環境では、Unreal Engineの起動が2倍以上かかっている状況であり、改善したい
(OCI:1分30秒程度で起動、Azure:3分程度かかる)
<br/>
ハードウェアスペックはAzureもOCIも同等のものを採用している。インフラ面では、インフラベンダーが問題ないか調査中だが、アプリ視点でナレッジがあれば教えていただきたい。
なお、当初Pixel StreamingもAzure環境では、fps が非常に低い状況であったが、Azure環境では、UEの起動時パラメータで-RenderOffscreen -ForceResを入れたら fpsの低下については改善した(OCIでは起動パラメータがなくても問題なかった)同様に起動の速さに効くような設定がないでしょうか?
再現手順
Azure環境でUnarel Engineを使ったPixel Streamingのアプリケーションを開発している。
OCI環境でも同様のアプリを使っており、Azureに移植しているが、OCIに比べAzure環境では、Unreal Engineの起動が2倍以上かかっている状況であり、改善したい
(OCI:1分30秒程度で起動、Azure:3分程度かかる)
(下記のリンク先は、本スレッドを英語に翻訳した英文スレッドですが、Epic Games のサポートチームが内部的に使用するものですので、ユーザーの方に利用していただく必要はございません。サポートは、この日本語スレッドに日本語で表示されるようになります。)
[Unreal Engine startup is slow in an Azure [Content removed]
[mention removed] 様
(以下は、サポート担当の Sevigny Martin によるコメントを翻訳したものです。)
お世話になっております。
そのアプリケーションを複数回連続して起動した場合、それぞれの起動時間は同じでしょうか?
問題の原因は、VM 環境でのデータのキャッシュに関係しているのではないかと見ています。もしそうだとしますと、最初の起動時はより時間がかかり、それ以降の起動は速くなるものです。
また、pak ファイルの順序づけを最適化することによって、起動/ロード時間が全般的に改善されるはずです。
https://dev.epicgames.com/documentation/en\-us/unreal\-engine/packaging\-unreal\-engine\-projects?application\_version\=5\.3\#orderingyourpakfile
(上記ドキュメントは、日本語版に設定することができます。)
Epic Gamesご担当様
お世話になります。
本件ご回答ありがとうございます。
複数回連続して起動した場合も同じ起動時間になります
また、本アプリケーションについては、パッケージ化せずにそのままEditorを利用して活用しております。(pakファイルの生成は実施していない状況です)
[mention removed] 様
(以下は、サポート担当の Sevigny Martin によるコメントを翻訳したものです。)
Azure と OCI の両方の環境で、起動時の Insights のトレース を取得するのがよいかもしれません。
取得したトレースを比較することによって、両者の環境の違いを理解できる可能性があります。
1) 次の引数を追加してプロジェクトを起動してください。
-trace=default -tracefile
2) 初期化が完了するまで待ってください。
3) エディタを終了させてください。
4) <Project>\Saved\Profiling フォルダ内に 1 個の .utrace ファイルが生成されます。
両方の環境で取得したトレース ファイルを共有していただければ、私のほうで内容を確認したいと思います。
Azure/OCI環境で取得しましたトレースファイルを共有しました。ご確認お願いします。
Azure: 20251030_211050.utrace
OCI: 20251030_214203.utrace
[mention removed] 様
(以下は、サポート担当の Sevigny Martin によるコメントを翻訳したものです。)
推測していたとおり、ディスクに関連するレベルの問題のようです。ハードウェアに問題があるか、ウイルス スキャナーが動作を遅くしているかのどちらかのようです。Unreal Engine およびプラグインの DLL を読み込む速度の開きは 2 倍あります (具体的には、Windows_LoadLibrary のイベントで、OCI は 12 秒、Azure は 24 秒かかっています)。また、データの読み込みにまさに依存するその他のイベントについても Azure の方が遅いです。
さらに、Azure のトレースから、テクスチャ用の DDC キャッシュからデータ取得の処理が行われていることが確認されました。これは本来であれば、ローカルの DDC にキャッシュされ、次回の起動ではローカルから高速に読み込まれるはずのものです。
一方、OCI セッションの方は実際にはもっと速く起動できるかもしれません。OCI では Perforce サーバーへの接続に 21 秒かかっているのがわかります。一方で、Azure セッションでは、即座に失敗しなければ、接続がはるかに速いです。(訳注: この段落は、Unreal Engine の起動が遅いのは、ネットワーク レベルの問題ではなく、ディスク レベルでの問題であるということを示唆しているように思われます。)