Networking Insights の概要

Networking Insights (ネットワーク パフォーマンス プロファイル ツール) の概要

Windows
MacOS
Linux
Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

Unreal Insights には、ネットワーク トラフィックの解析、最適化、デバッグを行う Networking Insights が含まれています。以下の機能を使って、トレース情報を記録してネットワークの挙動を視覚化することができます。

  • Game Instance はネットワーク セッションの記録中に可視のマシンの表示を制御します。

  • Connection Mode は送受信データを可視化します。

  • Packet Overview パネルは、ゲーム中に送受信されるパケットのタイムライン (およびサイズ) を表示します。

  • Packet Content パネルは、レプリケートされたオブジェクト、プロパティ、リモート関数コールなどパケットのコンテンツを表示します。

  • Net Stats パネルは、パケットの合計サイズ、最大サイズ、平均排他 (または包括) パケットサイズに関する統計など、選択されたパケットのトレース イベントを表示します。

NetworkingInsightsHero.png

設定

設定をする前に Unreal Insights をインストールしてください。

データを解析するには、Unreal Insights を有効にしてトレース情報を記録します。トレース レコーダーがアクティブになった後、以下のコマンドライン オプションでゲーム インスタンスを開始します。

-NetTrace=[VerbosityLevel] -trace=net

VerbosityLevel はゼロより大きい値に設定します。たとえば、ゲーム インスタンスが -NetTrace=1 で始まる場合、Unreal Insights は Unreal Instights でセッションを開きて、解析用にネットワーク トレース データを収集およびレポートします。

エディタはトレース データ用に独自のデータ ストアを実行します。つまり、エディタでの実行中にネットワーク トレース データを収集するために、トレースホストを指定する必要があります。トレースホストを指定するには、-NetTrace=1 -tracehost=localhost -trace=net を使用します。

Networking Insights ウィンドウ

Networking Insights ウインドウでネットワーク セッション データを見つけることができます。

Networking Insights を効率的に開く方法については、「Unreal Insights のリファレンス 」を参照してください。

NetworkInsightsOverview.png

Networking Insights ウィンドウには、Packet Overview パネル (1)、Packet Content パネル (2)、Net Stats パネル (3)、Connection Selection パネル (4) があります。

Packet Overview パネル

Packet Overview パネルには、送受信される各パケットのサイズ (ビット) を示すバー グラフが表示されます。詳細な調査が必要な大きいパケットの特定に便利です。バーを左クリックしてパケットを選択します。

各パケットのレポート サイズは圧縮前のサイズなので、通信上の実際のデータはレポートの値よりも小さくなる場合があります。

PacketOverviewPanel.png

パケット上にマウスをかざすと情報が表示されます

複数のパケットを選択するには、最初のパケットをクリックして選択し、Shift キーを押しながら他のパケットをクリックします。選択解除したパケットは赤で表示されます。

Packet Content パネル

Packet Content パネルには、現在選択されているパケットの中身が表示されます。パケットの中身は、左側からビット 0 で始まる階層のイベント グラフとして表示されます。このメイン ツールを使って、各パケットに含まれるデータ内容をプロパティ レベルまで調査します。

PacketContentPanel.png

最初のレベルには、パケットに含まれるグループが表示されます。それぞれのグループには、属するチャンネルの名前が付いています。報告されたグループにデバッグ名が設定されている場合は channelname ではなく debugname を使って追加コンテンツ (あれば) の指定をします。2 番目のレベルには通常、そのブループに含まれるレプリケートされたオブジェクトが表示されます。イベントに割り当てられた NetId(NetGUID) がある場合は、その ID も表示されます。イベント上にマウスを当てると、イベントのすべての情報が表示されます。イベント階層の下の方には、レプリケートされたプロパティ (書き込みバイト数など) が表示されます。

パネルは、パケットの検索、または特定の NetId に属するイベントの検索も制御します。

接続ドロップダウン リスト

Packet Overview パネルの上の部分でユーザーを表示日付を選択できます。

ConnectionDropdownLists.png

ドロップダウン リストは [Packet Content] パネルで使用できます。

ドロップダウン リスト

説明

Game Instance (ゲームインスタンス)

記録セッション中に観察されたそれぞれの一意の NetDriver に対して作成されたゲーム インスタンスを表示します。たとえば PIE を使用する場合は、サーバーと各クライアント用のインスタンスは別々になります。

Connection (接続)

特定の接続を選択し、選択したゲームインスタンスのセッション中に観察された各接続を表示します。

Connection Mode (接続モード)

送受信データを可視化するかどうかを指定します。

Net Stats パネル

Net Stats パネルには、Packet Overview パネルで選択されたパケット範囲に対するすべてのトレース イベントがリスト表示されます。

NetStatsPanel.png

レベルごとにイベントをグループ化した Net Stats パネル

このリストは、選択範囲に基づいてデータを集計するだけでなく、アクティブな列の値で昇順または降順にソートすることもできます。並べ替え順序を変更したり、列をアクティブまたは非アクティブにするには、リスト内の任意の場所を右クリックします。 次の列を使用できます。

  • 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

プロパティ、配列コンテンツなどをシリアライズ化する時に追加のイベントを報告します。

Net Stats パネルには、選択範囲にデータのないイベントをフィルタ処理する !0 トグルが付いています。

サンプル データ

ネットワーク パケット コンテンツ トレース マクロについては、「Unreal Insights のリファレンス 」を参照してください。

Networking Insights が視覚化するデータの理解を深めるために、以下の例を用意しています。

レプリケートされたオブジェクト

ReplicatedObjects.png

新しい Actor�ReplicationGraphDebugActor, NetGUID 10. の最初のレプリケーションです。

新しいアクタを含むグループの前に、新しいアクタからエクスポートされたすべてのリファレンス (NetGUIDS など) を含む NetGUID グループがあります。

RPC

RPCs.png

ClientAckGoodMove という名前の RPC で、NetGUID 14 で PlayerPawn_C をターゲットとします。

GUID はマッピングされなければなりません。

グループを分割する

分割されたグループを送信して生成されたイベント データは、分割されたグループを受け取ると最初の部分を報告します。すべてを受信すると、イベントは最後の部分を報告します。

SplitBunches_1.png

分割された送信されるグループです。

次のいくつかのパケットはこのようになります。

SplitBunches_2.png

イベントは最後の部分的なグループを報告するしますが、受信される分割グループは逆のパターンを示しています。

SubObjects

SubObjects.png

SubObject の例です。留意すべき点は、BotPawn_C の後の 2 つめのアクタが同じグループを共有することです。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback