パフォーマンスチューニング
TSMP を調整するには、最初にペイロードを減らし、次にフレーム レートとテクスチャ サイズを調整します。
視覚的な滑らかさだけではパフォーマンスを診断するのに十分ではありません。ペイロードの問題、フレーム損失の問題、補間の問題は似ている可能性があります。
デバッグ キャンバスから開始します
時計:
payload: 各フレームの空き状況。msg、var、rpc: 書き込まれているデータの量。loss: 受信機が見逃したと思われるフレームの数。validおよびheader: デコードが安定しているかどうか。- 最後のエラーテキスト。
視覚的な滑らかさだけで調整しないでください。輸送の問題とペイロードの問題は似ている場合があります。
最初にペイロードを削減します
| ソース | アクション |
|---|---|
| 変換同期 | 必要なオブジェクトのみを同期します。 |
| 人型のポーズ | 可能な限り、選択するボーンの数を減らします。 |
| VRChat アバターのポーズ | 受信機が完全なポーズ データを必要とする場合にのみ、フル モードを使用してください。 |
| ブレンドシェイプ | 表示される図形またはゲームプレイに関連する図形のみを選択します。 |
| アニメーター | 表示状態に影響を与えるパラメータのみを同期します。 |
| タイムライン | 送信者と一致する必要があるディレクターのみを同期します。 |
ペイロードの削減は、エンコード作業、転送帯域幅、デコード作業、および適用作業を同時に削減するため、通常、最初の最適化として最適です。
次にフレームレートを調整します
フレーム レートを高くするとレイテンシーを減らすことができますが、Udon とテクスチャの作業が増加します。
受信機または OBS パスが追いつかない場合、エンコーダのフレーム レートが高くなるとスキップされるフレームが増加し、動きの見栄えが悪化する可能性があります。
推奨されるアプローチ:
- 30 FPS から開始します。
- 損失が少ないことを確認します。
- モーションが必要な場合にのみフレーム レートを上げます。
- 損失または CPU コストが増加した場合、フレーム レートを上げるのを停止します。
次に容量を調整します
Payload buffer is full が表示される場合:
- 同期データを削減します。
- 出力テクスチャ容量を増やします。
Apply Setupを再実行します。- ペイロードが使用可能な容量を下回っていることを確認します。
解像度を上げることで容量の問題をすべて解決することは避けてください。テクスチャが大きいほど、レンダリング、キャプチャ、デコードにかかるコストが高くなります。
補間の選択
コンポーネントごとの受信補間を意図的に使用します。
| モード | 料金 | 視覚的な結果 |
|---|---|---|
| なし | 最低 | 受信した値は無視されます。 |
| 離散 | 低い | 値は受信状態にスナップされます。 |
| 継続的 | より高い | サポートされているコンポーネントはターゲットに向かってスムーズです。 |
連続モードでは転送遅延を隠すことができますが、欠落したデータを修正することはできません。損失が大きい場合は、最初に損失を修正します。
複数のプレイヤー
プレイヤー数が増加すると、特にアバターのポーズ同期の場合、ペイロードが急速に増加する可能性があります。
他のプレイヤーが参加したときにデータが消えた場合:
- 積載量を確認してください。 ・各プレイヤーが追加のアバターポーズデータを作成しているかを確認します。
- リモート プレーヤーに必要のない同期コンポーネントを無効にします。
- テクスチャの解像度を上げる前に、アバターのポーズの詳細を減らします。
- ビジュアルを最適化する前に、デバッグ キャンバスを表示してテストします。
実際のチューニング順序
- 低帯域幅の切り替えで有効なデコードを確認します。
- 変換同期を追加します。
- 高帯域幅機能を一度に 1 つずつ追加します。
- 追加するたびにペイロードの使用状況を監視します。
- 転送と容量が安定した後に受信補間を調整します。