工場が大きくなるとUPS(Updates Per Second)が低下して、ゲームがスローモーションになることがあります。Factorioには原因を特定するデバッグツールが内蔵されています。使い方を解説します。
目次
FPSとUPSの違い
| 指標 | 意味 | 依存する要素 |
|---|---|---|
| FPS | 画面の描画回数/秒 | グラフィック性能(GPU) |
| UPS | ゲーム内シミュレーションの更新回数/秒 | 工場の規模・複雑さ(CPU) |
通常はどちらも60で同期しています。カクつきや遅延の原因はほぼUPS低下です。
デバッグ画面の表示方法
- F4キーを押して「Debug settings」を開く
- 以下の3つを有効にする:
show-fps— 画面右上にFPS/UPSカウンターを表示show-time-usage— 各システムの処理時間を表示show-entity-time-usage— エンティティ別の処理時間を表示
処理時間の読み方
画面右側に表示される数値は、1ティックあたりの処理時間(ミリ秒)です。60UPSを維持するには、全処理の合計が16.67ms以下である必要があります。
注目すべき項目
| 項目 | 何の処理か | 重くなる原因 |
|---|---|---|
entity_update | 組立機・インサーター・採掘機等 | 設置数が多い |
transport_lines | ベルト上のアイテム移動 | 長いベルト・大量のアイテム |
circuit_network | 回路ネットワーク | 大規模・複雑な回路 |
fluids | 液体(水・石油・溶岩等) | 長いパイプ・多数のポンプ |
electric_network | 電力ネットワーク | 大量のソーラー・蓄電池 |
数値が大きい項目がボトルネックです。平均時間(1列目)が持続的な遅延、最大時間(3列目)が瞬間的なカクつきに対応します。
項目別の改善策
entity_update が重い場合
- ビーコン+モジュールで施設数を削減 — 最も効果的。施設が半分になれば処理も半分
- インサーターの数を減らす — スタックインサーターに置き換え、1本で済むなら1本に
- 不要な施設を撤去 — 稼働していない組立機は処理を消費している
transport_lines が重い場合
- 長距離ベルトを列車に置き換え — ベルトは全長に比例して負荷が増加
- 不要なアイテムがベルトに乗らないようにする
- ベルトの本数を最適化
circuit_network が重い場合
- 回路を単純化 — コンビネーターの数を減らす
- 不要な回路接続を撤去
- 電柱の回路接続を確認 — 意図せず接続されていることがある
fluids が重い場合
- パイプを短くする — ポンプで区間を区切る
- 液体輸送を列車タンクに切り替え
- 原子力発電を縮小してソーラーに移行 — 蒸気の流体計算が不要に
まとめ
F4 → show-time-usage が全ての出発点です。「なんとなく重い」で終わらせず、数値で原因を特定してピンポイントに対策しましょう。メガベースの最適化について詳しくはメガベース構築ガイドも参考にしてください。