Version: 2022.3
言語: 日本語
Dedicated Server の Player 設定
専用サーバー用アプリケーションのビルド 

専用サーバーの最適化

Dedicated Server (専用サーバー) ビルドターゲットはネットワークアプリケーションの最適化を実行します。このビルドターゲットは、一部の最適化をデフォルトで自動的に適用しますが、その他の最適化は、ゲームの実装によって影響が異なるため、任意となっています。

自動最適化

デフォルトでは、Dedicated Server ビルドターゲットは以下の最適化を実行します。

オーディオサブシステム

Dedicated Server ビルドターゲットは、オーディオ サブシステム を無効にします。オーディオサブシステムを無効にすると、CPU 負荷が軽減されます。

ライティングスレッド

Dedicated Server ビルドターゲットは、ライティングに関連する処理スレッドを削除します。これは、サーバービルドではライティングをレンダリングする必要がないためです。

プレイヤーループのコールバック

Dedicated Server ビルドターゲットは、以下の PlayerLoop コールバック を (サーバービルドには必要ないため) 無効にします。

GPU 専用アセット

Dedicated Server ビルドターゲットは、サーバーが必要としない GPU 専用アセット (テクスチャのテクスチャピクセルデータやメッシュ頂点データなど) を削除します。このビルドターゲットは、CPU の読み取り/書き込みアクセス権を持つアセットと リソースフォルダー 内のアセットを保持します。

CPU の読み取り/書き込みアクセスを無効にしてインポートされたテクスチャとメッシュには、GPU のみがアクセス可能で、CPU はこれらにアクセスできません。Dedicated Server ビルドターゲットはグラフィックデバイスを初期化しないため、このデータは含める必要がありません。このデータを除外することで、実行ファイルのメモリ使用量が削減されます。

Dedicated Server ビルドターゲットがどのアセットを削除し、どのアセットを保持するかについては、以下のリストを参照してください。

削除:

  • CPU の読み取り/書き込みアクセスが無効になっているテクスチャ
  • CPU の読み取り/書き込みアクセスが無効になっている、メッシュの頂点データ

保持:

  • CPU の読み取り/書き込みアクセスが有効になっているテクスチャ
  • CPU の読み取り/書き込みアクセスが有効になっている、メッシュの頂点データ
  • 保護された リソースフォルダー 内のアセット
  • テクスチャの メタデータ (テクスチャサイズ値など)
  • CPU の読み取り/書き込みが無効になっている場合にも、CPU 上で実行される内部システム (物理演算 など) が必要とする、メッシュデータ

ノート: CPU の読み取り/書き込みアクセスに関する詳細は、Texture.isReadable および Mesh.isReadable を参照してください。

その他の最適化

Dedicated Server ビルドターゲットによって適用される自動最適化に加えて、以下の実装ごとの最適化を手動で適用することができます。

  • 条件付きコンパイル を使用して、ビルドターゲットに応じてコードを選択的に含めたり除外したりできます。
  • クラスの実装によって、プレイヤー固有のコードとサーバー固有のコードを分離できます。
  • サーバービルドの PlayerLoop から、さらに要素を削除できます。PlayerLoop および PlayerLoopSystem を参照してください。

その他の参考資料

Dedicated Server の Player 設定
専用サーバー用アプリケーションのビルド