Blog
如何修复 Minecraft 延迟:诊断它,然后消灭它
Minecraft 卡顿是由三个问题导致的,它们统称为:低帧率、网络延迟和内存卡顿。学会区分它们并快速修复每个问题.
最多 "Minecraft “滞后”的抱怨实际上是三个无关的问题,只是用了一个懒惰的词来概括。如果把它们当成一个整体,你可能会浪费一个下午去调整那些根本不是问题的设置。如果把它们分开,每个问题都有一个简单的、无聊的解决方法。本指南就是帮你把它们分开。
人们真正表达的意思,当他们说“滞后”时
滞后是一种症状,而不是原因。三个不同的机器在幕后运作,产生三种不同的屏幕感受。学会识别每一种,你就可以避免猜测。
| 类型 | 感觉如何 | 存在于哪里 | 如何解决 |
|---|---|---|---|
| 低帧率 (FPS) | 即使在世界中独自一人,一切也以幻灯片的形式移动 | 你的 CPU 和 GPU | 渲染和逻辑模组,降低设置 |
| 网络延迟 | 方块断开然后重新出现,生物实体传送,仅在服务器上发生 | 你和服务器之间的连接 | 有线连接,更近的区域,减少带宽争用 |
| 内存卡顿 | 平滑的播放,但每隔几秒钟会冻结一下 | Java 垃圾回收 | 内存修剪模组,合理的 RAM 分配 |
陷阱在于,这三种情况都可能同时影响同一个会话。一次解决一种,按顺序解决,并在继续之前确认每个问题已解决。
我如何诊断我遇到的哪种滞后?
开启一个独立的单人游戏世界,无需服务器参与。这个测试可以隔离变量。如果游戏本身运行状况不佳,问题在于本地(帧数或内存)。如果单人模式运行良好,但服务器崩溃,问题在于连接.
加载一个单人平坦世界
没有服务器,没有着色器,极简区块加载。如果在这里卡顿,网络无责。问题出在你的机器上.
请查看F3图表
按下 F3 键,查看屏幕底部的帧时图表。一条平稳低垂的线表示 FPS 限制。在一条相对平坦的线上出现的周期性高耸的尖峰,是垃圾回收的停顿。那是内存卡顿,而非原始性能问题.
重新加入服务器并进行比较
如果单人模式运行流畅,但服务器出现弹性回弹,那么你遇到了网络延迟。请检查 F3 延迟值。高延迟或大幅波动确认问题出在连接上,而不是客户端.
我该如何修复低帧率? Minecraft?
低帧率通常是你的硬件无法足够快地绘制帧。解决办法是减少每帧的工作量:使用更快的渲染器、更精简的游戏逻辑,以及降低设置,使其不超过你的显卡所能提供的性能。这是最常见的原因,也是能带来最大、最明显提升的原因.
更换渲染器
Sodium 取代 Minecraft'替换旧的渲染管线为现代化的管线。在大多数设置中,这会是您从单个文件获得的最大的帧率提升.
精简逻辑
锂优化了游戏内部的滴答逻辑(生物群落人工智能、区块工作、物理效果),而不会改变行为。它提升了你最差帧数的表现.
减少每帧的开销
降低渲染距离两到三个区块,将图形设置为“快速”,如果想要无上限帧数,请关闭垂直同步。每个设置都能减少 GPU 负载.
在 Fabric 上安装 Sodium 和 Lithium,然后逐步降低视频设置,直到帧率稳定。 如果您需要完整的设置教程,渲染和设置指南 涵盖了每个选项。 使用较旧或性能较弱的电脑? 低端 PC 设置 可以进一步优化.
着色器的设计初衷就是会降低帧率。如果你的帧数只有在加载了着色器包后才会下降,那这是正常的,不是错误。在假设出现问题之前,请尝试使用更轻量级的着色器包,或者使用 Iris 并选择性能预设.
我该如何修复内存卡顿和冻结?
内存卡顿是指Java暂停整个游戏以清理未使用的对象。你会看到流畅的游戏画面,然后是明显的停顿,之后又恢复流畅,呈现出一种规律。 解决办法是首先减少内存的使用量,而不是试图增加内存.
抹去痕迹
FerriteCore 重新组织了 Minecraft 在内存中存储方块和世界数据的方式。减少堆内存使用意味着垃圾回收暂停发生的频率更低,且持续时间更短.
修剪更深
ModernFix 修复了大量内存和启动方面的低效问题。与 FerriteCore 配合使用后,它能进一步降低峰值负载.
谨慎分配
内存增加并非越多越好。过多的内存只会延长每次收集的时间,将小卡顿变成更大的冻结。如果你的系统经过了修改,建议配置 4 到 6 GB 的内存.
我该如何修复服务器的网络延迟?
网络延迟是距离和带宽的问题,而不是你的客户端。它只会在多人游戏中出现,无论你安装什么模组都无法改变服务器端或你与服务器之间的互联网连接。你可以控制的只有你本地的网络连接.
- 如果可以,请使用有线以太网连接代替 Wi-Fi。延迟更稳定,数据包丢失更少。
- 上传时请关闭所有占用带宽的程序:云同步、大型下载、或其他设备上的视频流。
- 請選擇離您最近的伺服器區域。物理距離決定了延遲的下限,沒有其他因素能超越它。
- 如果延迟持续攀升数天,请重启路由器。连接状态失效是真实存在的。
连接堆叠模组,例如 Krypton,可以整理客户端处理数据包的方式,但请诚实地认识到它的局限性:它无法加速已经过载的服务器或速度已经慢的连接。如果服务器自身的 tick 速率拖慢了,那是服务器管理员的问题,与你无关。
干净的设置胜过一堆补丁
摆脱延迟最快的方法就是避免积累它。在 Fabric 上使用 Vanilla 加上 Sodium、Lithium、FerriteCore 和 ModernFix,就能在四个文件中覆盖三个本地原因,而有线连接则覆盖第四个。建立好这个基础,大多数“延迟”就不会出现。
维护这些设置跨版本会变得繁琐,而工具的价值就在于此。Terminus 提供了经过优化的性能基线和保持其一致性的启动器,这样你就能花时间玩游戏,而不是在每次更新后重新诊断相同的三个问题.
常见问题
即使是快速的机器,如果内存压力或渲染设置不正确,仍然会卡顿。九次中八次是垃圾回收造成的卡顿,或是渲染距离设置过高,而不是缺乏算力。在责怪硬件之前,先添加锂元素和铁核,并将渲染距离拉回几格.
客户端修改器会改变你自己的机器如何处理帧和内存。当服务器本身过载或你的连接成为瓶颈时,无论你安装什么修改器都无法解决。那种延迟存在于电线的另一端.
仅此一点,超出这个范围反而会适得其反。过多的分配堆导致每次清理过程更长,这会表现为更大的卡顿。大多数修改后的设置在 4 到 6 GB 左右运行良好。在调整滑块之前,请使用 FerriteCore 和 ModernFix 减少内存浪费.
加载单人游戏世界。如果仍然卡顿,问题在于你的帧数或内存,一个模组可能会有所帮助。如果单人游戏运行流畅,但在服务器上方块回弹和生物传送,那便是网络延迟,解决方法在于你的连接,而不是你的客户端.
A tuned performance baseline, kept consistent every patch.