Version: Unity 6.0 (6000.0)
言語 : 日本語
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 を参照してください。

その他の最適化

Player Settings ウィンドウのEnable Dedicated Server Optimizations プロパティを使用して、その他の最適化を適用するためのオプションも用意されています。これらの最適化により、シェーダーフォントなどのアセットが削除されます。ただし、これらの最適化を適用すると、削除されたアセットがゲームの実装で参照されている場合に問題が発生する可能性があります。

削除済みアセット:

  • シェーダー
  • Fonts

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

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

追加リソース

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