Choose your operating system:
Windows
macOS
Linux
このページは以下のトピックへの知識があることを前提にしています。まず以下のトピックの内容についてご確認をお願いします。
Unreal Insights には、ネットワーク トラフィックの解析、最適化、デバッグを行う Networking Insights が含まれています。以下の機能を使って、トレース情報を記録してネットワークの挙動を視覚化することができます。
-
Game Instance はネットワーク セッションの記録中に可視のマシンの表示を制御します。
-
Connection Mode は送受信データを可視化します。
-
Packet Overview パネルは、ゲーム中に送受信されるパケットのタイムライン (およびサイズ) を表示します。
-
Packet Content パネルは、レプリケートされたオブジェクト、プロパティ、リモート関数コールなどパケットのコンテンツを表示します。
-
Net Stats パネルは、パケットの合計サイズ、最大サイズ、平均排他 (または包括) パケットサイズに関する統計など、選択されたパケットのトレース イベントを表示します。
設定
データを解析するには、Unreal Insights を有効にしてトレース情報を記録します。トレース レコーダーがアクティブになった後、以下のコマンドライン オプションでゲーム インスタンスを開始します。
-NetTrace=[VerbosityLevel] -trace=net
VerbosityLevel
はゼロより大きい値に設定します。たとえば、ゲーム インスタンスが
-NetTrace=1
で始まる場合、Unreal Insights は Unreal Instights でセッションを開きて、解析用にネットワーク トレース データを収集およびレポートします。
エディタはトレース データ用に独自のデータ ストアを実行します。つまり、エディタでの実行中にネットワーク トレース データを収集するために、トレースホストを指定する必要があります。トレースホストを指定するには、
-NetTrace=1 -tracehost=localhost -trace=net
を使用します。
Networking Insights ウィンドウ
Networking Insights ウインドウでネットワーク セッション データを見つけることができます。
Packet Overview パネル
Packet Overview パネルには、送受信される各パケットのサイズ (ビット) を示すバー グラフが表示されます。詳細な調査が必要な大きいパケットの特定に便利です。バーを左クリックしてパケットを選択します。
各パケットのレポート サイズは圧縮前のサイズなので、通信上の実際のデータはレポートの値よりも小さくなる場合があります。
複数のパケットを選択するには、最初のパケットをクリックして選択し、Shift キーを押しながら他のパケットをクリックします。選択解除したパケットは赤で表示されます。
Packet Content パネル
Packet Content パネルには、現在選択されているパケットの中身が表示されます。パケットの中身は、左側からビット 0 で始まる階層のイベント グラフとして表示されます。このメイン ツールを使って、各パケットに含まれるデータ内容をプロパティ レベルまで調査します。
最初のレベルには、パケットに含まれるグループが表示されます。それぞれのグループには、属するチャンネルの名前が付いています。報告されたグループにデバッグ名が設定されている場合は
channelname
ではなく
debugname
を使って追加コンテンツ (あれば) の指定をします。2 番目のレベルには通常、そのブループに含まれるレプリケートされたオブジェクトが表示されます。イベントに割り当てられた NetId(NetGUID) がある場合は、その ID も表示されます。イベント上にマウスを当てると、イベントのすべての情報が表示されます。イベント階層の下の方には、レプリケートされたプロパティ (書き込みバイト数など) が表示されます。
パネルは、パケットの検索、または特定の NetId に属するイベントの検索も制御します。
接続ドロップダウン リスト
Packet Overview パネルの上の部分でユーザーを表示日付を選択できます。
ドロップダウン リストは [Packet Content] パネルで使用できます。
ドロップダウン リスト |
説明 |
---|---|
Game Instance (ゲームインスタンス) |
記録セッション中に観察されたそれぞれの一意の NetDriver に対して作成されたゲーム インスタンスを表示します。たとえば PIE を使用する場合は、サーバーと各クライアント用のインスタンスは別々になります。 |
Connection (接続) |
特定の接続を選択し、選択したゲームインスタンスのセッション中に観察された各接続を表示します。 |
Connection Mode (接続モード) |
送受信データを可視化するかどうかを指定します。 |
Net Stats パネル
Net Stats パネルには、Packet Overview パネルで選択されたパケット範囲に対するすべてのトレース イベントがリスト表示されます。
このリストは、選択範囲に基づいてデータを集計するだけでなく、アクティブな列の値で昇順または降順にソートすることもできます。並べ替え順序を変更したり、列をアクティブまたは非アクティブにするには、リスト内の任意の場所を右クリックします。 次の列を使用できます。
-
Type
-
Level
-
Instance Count
-
Total Inclusive Size (bits)
-
Max Inclusive Size (bits)
-
Total Exclusive Size
-
Max Exclusive Size
名前で絞り込むには、「search net events or groups (ネットイベントまたはグループを検索)」フィールドを使用します。これらのイベント タイプごとにグループ分けできます。
-
Level
-
Flat
-
Name
レベルごとにグループ化すると同じ名前が別々のレベルに表示されるので、データが見やすくなります。これらのレベルを説明したのが以下の表です。
レベル |
説明 |
---|---|
0 |
チャンネル名を使用するグループをすべて表示する、一般的なチャンネル情報です。 |
1 |
レプリケートされたオブジェクト (アクタ)、このレベルのほとんどのイベントはシリアライズされたオブジェクトを表示します。 |
2 |
プロパティ レプリケーションまたは RPC が元となるイベントを報告します。 |
3 |
プロパティをシリアライズ化する時にイベントを報告します。 |
4 |
プロパティ、配列コンテンツなどをシリアライズ化する時に追加のイベントを報告します。 |
!0
サンプル データ
Networking Insights が視覚化するデータの理解を深めるために、以下の例を用意しています。
レプリケートされたオブジェクト
新しいアクタを含むグループの前に、新しいアクタからエクスポートされたすべてのリファレンス (NetGUIDS など) を含む NetGUID グループがあります。
RPC
GUID はマッピングされなければなりません。
グループを分割する
分割されたグループを送信して生成されたイベント データは、分割されたグループを受け取ると最初の部分を報告します。すべてを受信すると、イベントは最後の部分を報告します。
次のいくつかのパケットはこのようになります。
イベントは最後の部分的なグループを報告するしますが、受信される分割グループは逆のパターンを示しています。
SubObjects