Observableは、エンティティやブロックエンティティなどの処理時間を測り、ワールド内のどこが負荷の候補になっているかを調べるMinecraft Java版向けMODです。対象版を揃え、結果の送信設定を確認してから測定し、色と処理時間を手掛かりに原因を絞る流れで使います。
この記事ではMinecraft 1.21.1・NeoForge用5.4.4 betaを対象に、導入、キー設定、測定、結果の読み方と保存を説明します。2026年10月15日に正規配布情報と対応する作者ソースを確認しました。実機検証は行っていません。掲載する設定値は対象版の初期値で、MODパックや引き継いだ設定によって変わります。
Observableの対象版と必要なMODを確認する
tasgonのObservable正規配布ページでは、tick処理に時間を使う対象と場所を調べる機能が紹介されています。導入するだけで装置を最適化したり、FPSを一定量増やしたりするものとして扱わないでください。
今回の対象は1.21.1・NeoForge用5.4.4の配布ファイルです。配布区分はbetaです。普段使うワールドへ入れる前に、保存したコピーで確認する構成を勧めます。
| 確認項目 | この記事の対象 | 導入時の注意 |
|---|---|---|
| ゲーム・ローダー | Minecraft Java版1.21.1、対応するNeoForge | Fabric版や旧Forge版の条件と区別する |
| MOD本体 | Observable 5.4.4、beta区分 | 選択ファイルの対応版と区分を見る |
| Java | Java 21 | 使用する起動環境を確認する |
| 必須MOD | Architectury API、Kotlin for Forge | 両方とも1.21.1・NeoForge対応を選ぶ |
| 導入側 | クライアントとサーバーの両方 | マルチは管理者と版・構成を合わせる |
Architectury APIの正規配布とKotlin for Forgeの正規配布で、ゲーム版とローダーの対応を確認します。確認時には1.21.1・NeoForge向けのArchitectury API 13.0.11、Kotlin for Forge 5.12.0が掲載されています。
名前にForgeとあるライブラリでも、今回選ぶのはNeoForgeに対応するファイルです。Fabric用のFabric Language Kotlinを代わりに入れたり、古い説明にあるKotlin言語の版をMODの必要版と取り違えたりしないでください。
導入前に測定結果の送信と保存を確認する
NeoForge公式のクライアント導入案内を参照し、ワールド・MOD・設定と使用版を保存してから導入します。実際に起動するプロファイルのmodsへ、対応するObservableと必須MODの通常JARを入れてください。JARの展開やdatapacksへの配置は不要です。
マルチプレイでは、サーバー側も含めて構成を揃える必要があります。測定の利用可否と結果の取り扱いを、先に管理者へ確認しましょう。
対象版は標準設定で、測定が終わると結果と診断情報を外部の作者サービスへ送信する処理があります。 対象版の設定定義では、config内のobservable.jsonに送信先のuploadURLが設定され、includeJvmArgsも標準でtrueになっています。
送信する情報には、測定対象の種類や位置、処理時間に加え、実行したプレイヤーのUUID、システムレポート、導入MODの版などが含まれます。標準ではJVM起動引数も診断情報に含まれるため、測定結果をローカルだけで扱いたい環境は、実行前に設定を確認してください。
この版では、uploadURLを空文字にすると送信を行わず、結果をローカル保存する処理へ進みます。変更する場合は所有者・管理者がゲームやサーバーを終了して設定の原本を保存し、JSONの書式を保って編集してから再起動します。サーバーの送信先を、参加者のクライアント設定だけで変えられるとは考えないでください。
includeJvmArgsをfalseにしても、ほかの診断情報まで一括で消えるわけではありません。外部へ送らないことが必要なら、送信先の設定と実際の保存結果を確認します。
送信しない場合や送信に失敗した場合、クライアント側にはobservable_profilesフォルダーのJSONへ測定データを保存する処理があります。実際に起動した環境とチャットの保存案内を確認してください。公開URLや保存ファイルを共有するときも、座標などの内容を確認してから渡しましょう。
測定画面を開いてProfile TPSを実行する
5.4.4のキー定義では、測定画面を開くキーは未割り当てです。ゲームのキー設定でObservableの「Show profiler screen」を探し、ほかの機能と重ならないキーを割り当てます。配布概要や古いWikiにはRと書かれていますが、現在の対象版では実際の割り当てを確認してください。
ワールドへ入って割り当てたキーを押すと、測定画面を開きます。基本となる項目は次のとおりです。
| 画面の項目 | 役割 | 最初に使うときの確認 |
|---|---|---|
| Profile TPS | 指定時間の測定を開始する | 送信設定と利用権限を先に確認する |
| Duration | 測定時間 | 初期値30秒、画面上でスクロール調整する |
| Profile with sampler | 詳細な呼び出し情報を採取する | 測定負荷が増えるため最初はオフで確認する |
| Overlay | ワールド内の結果表示 | 測定が完了した後に確認する |
| Settings | 結果の表示条件 | 比較時は同じ条件に揃える |
画面のDurationはマウスのスクロールで5秒ずつ変えられ、5~60秒の範囲に収まる処理です。最初は標準の30秒で、調べたい装置や生き物が普段と同じように動いている状態を測ると比較しやすくなります。
Profile TPSを押したら測定終了まで待ち、結果や保存案内を確認します。この画面を開いてもゲームが一時停止するわけではありません。測定中に装置を止めたり大きく移動したりした場合は、その条件も控えておきましょう。
マルチでは、OPや個別に許可されたプレイヤーなど、サーバー側で利用を認められた人が測定できます。「権限がない」と表示されたら管理者へ確認してください。全員へ権限を広げたり、サーバーの制限を回避したりする手順は必要ありません。
色と処理時間から負荷の候補を読み取る
測定後にOverlayを有効にすると、対象の位置やエンティティの近くへ処理時間を表示します。表示のμs/tは、tick当たりの処理時間をマイクロ秒で示す単位です。1,000μsは1msで、FPSの数値とは区別して読みます。
色は測定された時間が小さい側では緑寄り、大きい側では赤寄りになります。ただし、赤い装置を見つけたら必ず撤去すべきという判定ではありません。働いている機械は停止中の機械より時間を使いますし、一つの対象が軽くても大量にあれば全体の負荷へ関わります。
まず色と数値が目立つ場所を候補として挙げ、何の装置か、どれくらいの数があるか、測定中にどう動かしていたかを確認します。そのうえで、コピー環境や管理者が認めた範囲で一つの条件だけを変え、同じ時間・同じ表示条件で再測定しましょう。
Overlayは完了した測定結果を使う表示です。数値が毎瞬の負荷を追い続ける常時監視だと考えず、構成や稼働状態を変えた後は改めて測定します。エンティティが移動・消滅した場合や、クライアント側で読み込まれていない場合には表示できないこともあります。
また、すべてのカクつきが生き物や装置のtick処理で説明できるわけではありません。描画、通信、別の処理なども関わるため、候補が見つからないだけで「環境全体に問題はない」とは判断しないでください。
Settingsとsamplerの使い分けを確認する
対象版のSettingsでは、ブロックのラベル距離、エンティティのラベル距離、表示するエンティティの最大数、Normalize resultsなどを扱います。初期値はブロックのラベル距離128、エンティティのラベル距離2,048、エンティティ最大表示数2,000です。
これらは主に結果を表示するための条件です。距離を短くしても、サーバーのチャンク読込距離や装置の稼働範囲を直接変更する設定にはなりません。画面が見づらい場合は必要な範囲へ絞り、表示されない対象を測定対象外と即断しないようにしましょう。
Normalize resultsは標準で有効です。各対象が処理されたtick数を、測定全体のtick数に合わせて結果へ反映する仕組みがあります。オンとオフでは値の読み方が変わるため、改善前後で比較するときは状態を揃えてください。
Profile with samplerは、呼び出し情報を追加で採取するための項目です。画面にも「adds overhead」とあり、測定自体の負荷が増えます。まず通常測定で場所や対象を絞り、詳しい情報が必要になった段階で、管理者と相談して使うとよいでしょう。常にオンにすればゲームが軽くなる機能ではありません。
動かない場合の確認と更新・削除前の準備
| 症状 | 確認する箇所 | 対応のポイント |
|---|---|---|
| 起動しない | ゲーム版・ローダー・必須MOD | Kotlin for ForgeもNeoForge対応を選ぶ |
| Rを押しても画面が出ない | 実際のキー割り当て | 5.4.4は未割り当てから設定する |
| サーバーにないと表示される | サーバー側の導入状況 | クライアントだけで完結しない |
| 測定を開始できない | 利用権限や進行中の測定 | 管理者と利用状況を確認する |
| 結果が見えない | 測定完了・Overlay・表示距離 | 対象の移動や消滅も確認する |
| 結果のURLが出ない | 送信設定とローカル保存案内 | 送信しない設定なら保存先を確認する |
更新前にはゲーム・サーバーを終了し、ワールド・MOD・observable.jsonと元の版を保存します。新ファイルのゲーム版、ローダー、配布区分、必須MODを照合し、引き継ぐキー設定と結果送信の設定も再確認してください。
作者READMEにある開発環境向けのクラスローダーや環境変数の説明を、通常利用者の必須導入手順として適用する必要はありません。起動しない場合は、まず版と前提MOD、エラーに示された不足項目を確認します。
削除するときは測定を終え、残したいレポートを保存してからゲーム・サーバーを終了し、Observable本体を外します。Architectury APIやKotlin for Forgeは別のMODも使うことがあるため、必要性を確かめずまとめて削除しないでください。
ローカルに保存したファイルと、すでに外部へ送った結果は別に管理します。JARを削除しただけで、送信済みのデータまで消えるとは考えず、共有する内容と管理者の取り扱い方針を確認してください。
まとめ:条件を揃えた測定から改善候補を探す
Observableの1.21.1・NeoForge用5.4.4 betaは、前提MODを揃え、キーを割り当て、Profile TPSから測定します。最初の測定前に結果の自動送信と保存方法を確認してください。
測定後は色とμs/tから候補を探し、稼働状態や対象の数を見て判断します。通常測定から始め、必要なときにsamplerを使い、変更前後は同じ条件で比較しましょう。

コメント