【VRChat】重さを測る:どこが重いのかを先に見つける

作成: 2026-09-09

最適化の前に、重さの正体を4つに分けて測ります。Stats・Profiler・Frame Debugger・ビルドサイズの使い分けと、記録の残し方を解説します。

自分のワールドが重い気がする。検索して出てきた対策を、片端から試してみました。テクスチャを小さくして、ライトを減らして、メッシュを結合して。半日かけたのに、体感はほとんど変わりません。

重さには種類があって、直し方がまったく違います。 熱があるからといって、棚の薬を全部飲む人はいません。

この記事では、どこが重いのかを見つける ところまでを扱います。直し方はそれぞれの記事へ渡します。

4つの計測窓を並べて、重さ��の正体を探す

この記事でわかること

  • 重さを4つに分けて考えること
  • 体感から当たりをつける方法
  • 4つの計測窓の使い分け
  • 前後を比べるための記録の残し方

作ったワールドが手元にあれば、それを使って読み進めてください。

Sponsored


重いには4つの種類がある

「重い」と一言で言っても、中身は4つに分かれます。

描画・処理・容量・同期の4種類

うれしいことに、体感からある程度あたりがつきます。

体感疑うもの何が原因になりやすいか
カメラを振ると特にカクつく描画マテリアルの数、ポリゴン、透明な物の重なり
何もしなくても重い。仕掛けを止めると軽くなる処理Udon、物理、アニメーション
入室に時間がかかる。Questで落ちる容量テクスチャ、音声、メッシュ
1人なら軽いのに、人が増えると重い同期同期しているオブジェクトの数

この4分類が、この記事のいちばん大事な部分です。自分がどれを疑っているかがはっきりしていれば、読むべき記事も決まります。

疑うもの読む記事
描画描画を軽くする
処理Udonを軽くする物理の負荷を下げる
容量テクスチャとマテリアル
同期ネットワーク同期入門

混同しやすい2つ を先に切り分けておきます。

  • 入室が遅いことと、動きがカクつくことは別です。 前者は容量、後者は描画か処理です
  • 描画が重いことと、処理が重いことも別です。 何も映さなくても重いなら処理です
Sponsored

4つの窓で覗く

道具も4つあります。それぞれ見えるものが違います。

4つの計測窓で見えるものは違う
道具どこで開くか何が見えるか
StatsGameビューの右上「Stats」いま何個描いているか
ProfilerWindow → Analysis → Profiler1フレームの時間の内訳
Frame DebuggerWindow → Analysis → Frame Debugger1枚の絵ができるまでの順番
ビルドのサイズSDKのビルド画面来場者がダウンロードする量

いちばん手軽なのがStatsです。Gameビューを表示して、右上の「Stats」を押すだけで出ます。

見る数字は4つで足ります。

項目意味
Batchesまとめて描いた回数
SetPass calls描き方を切り替えた回数。ここが効きやすい
Tris三角形の数
Verts頂点の数

SetPass calls から見てください。 マテリアルの種類が増えるほど大きくなる数字で、描画が重いワールドはここが膨らんでいることが多いです。

目安はひとつの参考として、こう考えてください。

PC向けQuest向け
SetPass calls100前後まで数十まで
Tris数十万まで10万前後まで

絶対の合格ラインではありません。 大事なのは、手を入れる前後で比べることです。

Sponsored

実践:自分のワールドを測る

自分のワールドを、4つの窓すべてで測ってみます。作りかけのものでも構いません。

1. 測る場所を決める

先に 測定条件を固定します。 ここを決めないと、数字がばらついて比べられません。

  • 立つ位置を1か所決める(部屋の中央など)
  • 向く方向を決める(いちばん物が多く見える向き)
  • その場所へ行きやすいよう、Sceneビューでカメラの位置を覚えておく

いちばん重い景色を測ってください。 壁を向いた数字が良くても意味がありません。

2. Statsで描画を見る

Playして、決めた場所と向きに立ち、Gameビューの「Stats」を押します。

4つの数字を控えます。あとで比べるので、メモ帳でもテキストファイルでも構いません。

SetPass calls : 
Batches       : 
Tris          : 
Verts         : 

その場で向きを変えて、数字がどう動くかも見てください。向いた方向で大きく変わるなら、その方向に重い物があります。

3. Profilerで処理を見る

「Window → Analysis → Profiler」を開いて、Playします。

グラフが流れ始めたら、適当なところで一時停止 して、1フレームを選びます。下半分に、そのフレームで何に時間を使ったかが出ます。

初心者が見るのは2か所だけで足ります。

見る場所分かること
CPU Usageの帯処理と描画のどちらが太いか
Hierarchy表示の上位時間を食っている処理の名前

上位に PhysicsUpdate が並べば物理、Udon関連が並べば仕掛け、Camera.Render が太ければ描画です。名前を正確に読む必要はありません。何系が太いかが分かれば十分です。

Profilerでは、太い帯がどこかだけを見る

4. Frame Debuggerで描画の順番を見る

「Window → Analysis → Frame Debugger」を開いて、「Enable」を押します。

左に、1枚の絵ができるまでの手順が並びます。スライダーを動かすと、その時点までの絵 がGameビューに出ます。少しずつ絵が組み上がっていく様子が見えます。

見どころは2つです。

  • 同じような物が何十回も別々に描かれていないか(まとめられる可能性があります)
  • 見えないはずの物が描かれていないか(壁の裏など)

Statsで SetPass calls が多かったとき、その中身を確かめる道具だと思ってください。

5. ビルドして容量を見る

VRChat SDKのビルド画面を開きます。

ビルドすると、ダウンロードされるサイズ展開後のサイズ が表示されます。この2つを控えます。

Download Size     : 
Uncompressed Size : 

入室に時間がかかると言われているなら、ここが大きくなっています。上限に近づいているかどうかも、この画面で分かります。

容量の大半はテクスチャです。 大きいと感じたら、まずテクスチャの解像度と枚数を疑ってください。

6. 記録を残す

最後に、控えた数字を1つの表にまとめます。

項目手を入れる前手を入れた後
SetPass calls
Tris
Download Size
Profilerで太かったもの

この表があるかどうかで、最適化の作業がまったく違うものになります。

数字がなければ「たぶん軽くなった気がする」で終わります。数字があれば「SetPass callsが180から60になった」と言えます。効かなかった作業も分かるので、次から同じことをしなくて済みます。

測っても分からないときは

  • Statsの数字が動かない → Gameビューが表示されていないか、Playしていません
  • Profilerが読めない → 名前を読もうとしないでください。太い帯がどこかだけ見ます
  • エディタでは軽いのに実機で重い → エディタは目安です。特にQuestは必ず実機で確かめます
  • 人が増えると重い → 同期です。同期しているオブジェクトの数を数えてください
  • どこも大きく見えない → 積み重ねかもしれません。少しずつ物を消して、どこで軽くなるか探します
  • 数字が毎回違う → 立つ位置と向きが固定されていません

おまけ:先に知っておくと良いこと

  • アバターの話と混同しない: よく見かける「Performance Rank」はアバターの指標です。ワールドは、自分で数字を見て判断します
  • 1つずつ変える: 一度に3か所直すと、どれが効いたか分かりません。1つ変えて、測って、記録する。地味ですが、いちばん速い進み方です
  • 軽い部屋から測らない: いちばん物が多い景色で測ってください。良い数字は安心をくれますが、何も教えてくれません
  • Questを視野に入れるなら早めに測る: 完成してから容量を半分にするのは大変です。作りながら定期的にビルドして、サイズの伸び方を見ておきます
  • 測るのは完成後だけではない: 大きなアセットを入れた直後や、仕掛けを1つ足した直後に測る癖をつけると、原因が1つに絞れます

まとめ

最適化は、測ることから始まります。

  • 重さは描画・処理・容量・同期の4種類。直し方が違う
  • 体感からある程度あたりがつく
  • Statsは描画、Profilerは処理、Frame Debuggerは描画の中身、ビルド画面は容量
  • 前後の数字を表に残す。1つずつ変える

手を入れる前の問いかけは、「いま自分は、4つのうちどれを直そうとしているか」 です。答えられないなら、まだ測る段階です。

描画を軽くするなら 描画を軽くする、仕掛けを軽くするなら Udonを軽くする へ進んでください。

VRChat このセクションのノート63