Blog
修理する Minecraft どもり:フレームレートのスパイクを解消する
Minecraftのスタッターは、低FPSではなく、ガベージコレクションの一時停止やチャンクの読み込みが原因です。メモリ負荷を軽減し、チャンクの読み込みをスムーズにし、RAMの過剰な割り当てを停止してください.
Minecraftのスタッターとは、一体どういうことか?
スタッターは、フレームレートの問題ではなく、フレームタイムの問題です。平均FPSが300でも、数秒ごとにゲームがほんの一瞬フリーズすることがあります。カウンターは、ピークを平均化してしまうため、健康的に見えます。しかし、実際に感じているのは、そのピーク自体です。その背後にある原因は、ガベージコレクションの一時停止とチャンクの読み込みであり、どちらも数字を大きくすることで解決するものではありません。
常に20フレーム/秒まで落ち込む300フレーム/秒と、安定した120フレーム/秒を比較してみてください。120フレーム/秒の方が快適に感じられるでしょう。目は、平均値ではなく、最悪のフレームを追跡します。したがって、この問題の解決策は、最悪のフレームをよりマシにすることであり、修正する順番が重要になります。
| 感じるもの | 実際に起こっていること | 悪化させるもの |
|---|---|---|
| 数秒ごとにフリーズする | ガベージコレクションの一時停止 | FerriteCore、ModernFix |
| 新しい地形に入ると引っかかる | メインスレッドでのチャンク生成 | C2ME、Lithium |
| RAMを増設した後に悪化したスタッター | 過剰なヒープサイズ、より長いGCスイープ | アロケーションを減らす |
| 発生源不明の小さな引っかかり | バックグラウンドアプリや疲れたドライブ | アプリを閉じる、ディスクの状態を確認する |
ガベージコレクションによるスタッターを止めるにはどうすればよいか??
まず最初に、メモリ圧力を軽減してください。ほとんどのマイクロスタッターは、Javaガベージコレクタがメモリを回収するために世界を一時停止させることによって引き起こされます。ゲームが保持するメモリ量を減らすことで、一時停止は短くなり、発生頻度も減ります。この作業の大部分を担うのは2つのMODです。FerriteCoreは、Minecraftがメモリに保持するデータを重複排除し圧縮し、ModernFixはそれに追加して、割り当てとロード時の無駄を削減します。
その理由は単純です。ガベージコレクタは、回収するゴミの量が多い場合にのみゲームを停止する必要があります。回収するゴミの量を減らせば、中断される頻度も減ります。FerriteCore単体でもヒープのフットプリントを大幅に削減できるため、深刻なスタッターを修正するための最上位に位置付けられています.
フェアライトコア
Minecraft が RAM に保持しているデータを圧縮します。これにより、メモリ使用量が削減され、GC の一時停止が短縮され、発生頻度も低下します.
モダンフィックス
割り当ての削減とロード時間の肥大化を解消。FerriteCoreの上位に綺麗にスタックします.
シー・ツー・ミー
新しい地形のスタッターを軽減するため、チャンク生成をより多くのCPUスレッドに分散させました.
リチウム
ゲームの世界シミュレーションを安価にし、移動や戦闘中でもゲームが処理し続けられるようにします.
どうすればチャンク読み込みの引っかかりを解消できるでしょうか?
新しいテレインにダッシュする際に感じる衝撃は、チャンク生成がメインスレッドを圧迫していることが原因です。C2MEは処理をより多くのCPUコアに分散させるため、世界はあなたの進行先で構築され、後から追いつくのではなく、先に構築されます。これにLithiumを組み合わせることで、エンティティ、Mob AI、物理の1ティックあたりのコストを下げ、シミュレーションが最初から遅れをとらないようにします。
この2つは作業を分担します。C2MEは新しいチャンクを処理します。Lithiumは既存の世界を動作させるコストを抑えます。合わせて、オープンワールドでのダッシュをストップ&ゴーの遅延から、一定のペースを維持できるものへと変えます。特に高速なプレイにおいて、その違いに気づくのはこの時です。プレッシャーのかかる状況での滑らかな動きを重視する場合は、PvPで安定したFPSを得る方法をご覧ください。
なぜRAMを増やすとスタッターが悪化するのでしょうか?
より大きなヒープは、クリーンアップに時間がかかるからです。Javaにメモリを多く与えると、各ガベージコレクションのスイープでカバーすべき範囲が広くなるため、フレームをフリーズさせる一時停止が長くなり、短くはなりません。多くの人が割り当て量を増やしてスムーズさを期待するのに、その逆の結果になることがあります。RAMを増設した直後にスタッターが始まり、悪化した場合は、それが原因である可能性が高いです.
同じ理由で、メモリを整理する前にMODをどんどん追加するのは罠です。アロケーションスライダーを調整する前に、FerriteCoreとModernFixを入れるようにしましょう。もしRAMが特に問題な場合は、RAM使用量を減らすための最適なMOD の方がより深く掘り下げています。
修正の正しい順番はどれでしょうか??
メモリペアをインストールしてください
FabricにFerriteCoreとModernFixを追加すると、ヒープサイズが縮小され、ほとんどのスタッターが解消されます.
チャンクとチックのペアを追加してください
C2MEとLithiumをインストールしてください。新しい地形にすると引っかかりがなくなり、シミュレーションのコストも抑えられます.
RAM のサイズを最適化する
割り当てを4~6GBに減らすことを検討してください。もし現在それよりも多い場合は。混雑した場所でテストし、まだ平坦な世界ではテストしないでください.
キャップをかぶって片付けなさい
リフレッシュレートより少し下のフレームレートに設定するか、VSyncを有効にし、CPUの処理能力を奪っているバックグラウンドアプリを閉じてください.
モドを責める前に確認すべき簡単なチェックリスト
再インストールする前に、モド以外の原因もいくつかあるので、除外しておく価値があります.
- フレームレートの制限やVSync。不均一なペースは、ピークが尖っていても、より優れている。
- バックグラウンドアプリ。ブラウザ、ボイスクライアント、アップデートタスクはCPUを消費し、ゲーム中にヒッチを引き起こす。
- ドライブ。ディスクがいっぱいの場合や、故障している場合は、データの読み込みで詰まる。
- シェーダー。重いシェーダーパックは、独自のフレーム時間コストを追加する。原因を特定するために、オフにしてテストする。
ここに、手作業で調整されたセットアップがその価値を発揮する場所です。Terminusは、パフォーマンススタックがすでに配線され、起動プロファイルが事前にサイズ調整された状態で出荷されるため、JVMフラグの迷宮を抜け、すぐにプレイを開始できます。
よくある質問
高い平均FPSは問題を隠蔽している。単一のガベージコレクションの一時停止やチャンクロードの停滞は、レンダリング速度がどれだけ速くても、フレームをほんの一瞬凍らせる。フレームカウンターではなく、メモリとチャンクロードを修正する.
メモリ側はフェライトコア、チャンク読み込み側はC2ME。リチウムはワールドシミュレーションのコストを抑えることで、両方をバックアップします。可能であれば、すべてを一緒にインストールしてください.
通常は逆です。より大きなヒープは、ガベージコレクションの各スキャンで処理するデータ量を増やし、結果として一時停止が長くなります。スタッターが悪化した場合は、RAMを4~6GB程度に減らしてみてください.
しばしばそうである。一定のフレームレートで動作させた方が、瞬間的にピークになる高い数値よりも滑らかに感じる。リフレッシュレートより少し下のフレーム数に抑えるか、Vsyncを有効にして、安定性を優先しよう.
Terminus を手に入れろ
Performance stack pre-tuned. No JVM flags to memorize.