异步 [已移植]

异步 [已移植]

异步通过跨多个CPU核心和线程并行处理实体来提升实体性能。

怪物

Async - Minecraft 实体多线程模组 ⚙️

Async 通过跨多个 CPU 核心和线程并行处理实体来提升实体性能。

 Available for NeoForgeAvailable on Modrinth View source on GitHub Chat with us on Discord

重要❗

Async 目前处于 alpha 测试阶段,属于实验性功能。使用它可能会导致实体行为异常和崩溃。

什么是 Async?🤔

Async 提升了实体处理的性能。该模组利用多线程,使多个 CPU 核心在处理大量实体时提升性能。

💡 主要优势:

  • ⚡ 改进的 TPS:即使在大量实体的情况下也能保持稳定的 tick 时间。
  • 🚀 多线程:利用多个 CPU 核心进行并行实体处理。
  • 🎲 异步随机 tick(实验性):异步处理随机 tick 以获得更好的性能。

📋 要求

  • Minecraft:26.1 或更新版本
  • Java:25 或更新版本
  • 加载器:Fabric、Quilt 或 NeoForge
  • 依赖项:Fabric API(在 Fabric/Quilt 上)

📊 性能对比(9000 个村民)

配置 TPS MSPT
Lithium + Async 20 41.8
Lithium(不含 Async) 4.4 225.4
Purpur 5.72 176.18

🛠️ 测试配置

  • 处理器:AMD Ryzen 9 7950X3D
  • 内存:64 GB(为服务器分配 16 GB)
  • Minecraft 版本:1.21.4
  • 实体数量:9000
  • 实体类型:村民
模组列表 Concurrent Chunk Management Engine, Fabric API, FerriteCore, Lithium, ScalableLux, ServerCore, StackDeobfuscator, TT20 (TPS Fixer), Tectonic, Very Many Players, Fabric Carpet。

⚠️ 不兼容的模组

  • ❌ Moonrise - 已知不兼容
  • ❌ Open Parties and Claims - 已知不兼容
  • ⚠️ ...还可能与其他模组存在冲突。

如果你在其他模组中遇到问题,请在我们的 GitHub 或 Discord 上报告。

🔧 命令

配置

  • /async config toggle — 在游戏中启用或禁用该模组(无需重启服务器)。使用此命令可立即查看 Async 如何改善你的服务器。
  • /async config reload — 从磁盘重新加载配置。
  • /async config setAsyncEntitySpawn [true|false] — 启用或禁用并行生物生成处理(默认禁用)。不带参数时显示当前值。警告:与 Carpet 模组的 lagFreeSpawning 规则不兼容。
  • /async config setAsyncRandomTicks [true|false] — 启用或禁用异步随机 tick 处理(实验性功能,默认禁用)。不带参数时显示当前值。
  • /async config synchronizedEntities — 列出当前同步处理的实体。默认为 minecraft:tnt、minecraft:item 和 minecraft:experience_orb。
  • /async config synchronizedEntities add <entity|namespace:*> — 将某个实体类型,或某个命名空间下的所有实体,添加到同步处理中。
  • /async config synchronizedEntities remove <entity|namespace:*> — 将某个实体类型,或某个命名空间下的所有实体,从同步处理中移除。

统计

  • /async stats — 显示模组状态、异步生成和随机 tick 状态、实体总数以及正在使用的线程数。
  • /async stats entity — 显示每个世界的实体数量,以及其中有多少是异步处理的。
  • /async stats entity <number> — 额外按数量降序显示前 <number>(1-100)个实体类型,每个都标记为 async 或 sync。例如,/async stats entity 10 显示数量最多的前 10 个实体类型。
  • /async stats entity <number> <ticks> — 记录 <ticks> 个 tick,然后显示前 <number> 个实体类型及其平均 mspt 占用。

⚙️ 配置

Async 也可以通过其配置文件进行配置:

  • disabled — 完全禁用该模组。
  • maxThreads — 使用的线程数。默认为 -1(自动)
  • enableAsyncSpawn — 并行生物生成处理。
  • enableAsyncRandomTicks — 异步随机 tick(实验性)。
  • synchronizedEntities — 必须在主线程上 tick 的实体类型。

📥 下载

该模组可在 Modrinth 上获取

🔄 Minecraft 版本支持

仅对最新版本的 Minecraft 提供完整支持。不计划支持较旧的 Minecraft 快照。

📭 反馈

我们的反馈和错误报告追踪器可在 GitHub 上获取: Report issues on GitHub

你也可以在 Discord 上与我们交流: Chat with us on Discord

🙌 致谢

该模组基于 MCMTFabric 的代码,而后者又基于 JMT-MCMT。非常感谢 Grider 和 jediminer543 的宝贵贡献!