Update README: rewrite feature list as optimization scope (dimensions/entities/chunks/BE/items, all server-side)

This commit is contained in:
modzuozhi committed 2026-09-12 00:50:56 +08:00
1 parent 849ce7171c
commit 75ed486fec
1 file changed
+28 -6
+28 -6
View File
@@ -2,13 +2,35 @@
Dimensional Ripper 是一个基于 **NeoForge 1.21.1** 的多线程维度并行优化模组。它通过独立维度 tick 循环与细粒度并行调度,充分利用多核 CPU 提升服务端性能,同时保持稳定的 20 TPS。 Dimensional Ripper 是一个基于 **NeoForge 1.21.1** 的多线程维度并行优化模组。它通过独立维度 tick 循环与细粒度并行调度,充分利用多核 CPU 提升服务端性能,同时保持稳定的 20 TPS。
## 功能特性 ## 优化范围(均为服务端运算,不影响客户端画面/渲染)
### 🗺️ 维度
- **维度并行 tick**:主世界/下界/末地/自定义维度各一个独立循环线程同时跑,一个维度卡顿不拖累其它维度。
- **保存独立接管**:存档保存流程单独处理,防止存盘时整服冻结。
### 👾 实体(优化重点)
- **实体 tick 并行**:村民、动物、怪物、掉落物等原版生物按 ID 分几十片多线程同时 tick(ShardGate 分片掉拍:单片慢只拖自己,不阻塞全局屏障)。
- **存储结构并发化**:实体查找表、区块内实体表、section 容器全部换成无锁并发集合,消除读锁排队。
- **村民 AI 特化**:大脑(Brain)、最近实体传感器、寻路、找床/找工作点、抢职位竞争、八卦消息全部做了多线程安全加固。
- **碰撞优化**:实体间碰撞默认关闭(`nocollide`,省去 O(n²) 开销),碰撞查询本身并行执行。
- **跨维度传送**:换维度处理重定向到正确线程,避免跨线程状态错乱。
- 压测数据:约 1.9 万村民场景下 TPS 从 9 提升到 20(16 核)。
### 🧱 区块 / 世界
- **区块环境并行**:每个区块的随机 tick(植物生长、水流、岩浆、红石脉冲)按区块坐标分片并行跑。
- **调度并发化**:区块加载/卸载、DistanceManager ticket 管理、计划刻调度(LevelTicks/BinaryHeap)全部线程安全。
- **爆炸**:统一串行执行,防止并发写坏区块数据。
### ⚙️ 方块实体(机器)
- **机器 tick 并行**:熔炉、漏斗、箱子、信标等方块实体的 tick 按位置分片并行。
- **POI 并发化**:村民找床/找工作点查询不再排队等锁。
- **方块更新/掉落/游戏事件**:收集器、掉落物捕捉、游戏事件分发重定向到正确线程。
### 🎒 物品
- 物品本身无独立并行优化(合成、堆叠仍走原版逻辑);掉落物作为实体参与并行 tick,方块掉落物在正确线程处理。
## 其它特性
- **维度并行 Tick**:每个维度拥有独立的 tick 循环与 worker 线程,维度之间互不拖累——单维度低 TPS 不会影响其他维度。
- **细粒度并行**:在维度内部对实体、方块实体、区块环境 tick 进行并行调度,充分压榨多核性能。
- **分片并行 (ShardGate)**:实体/方块实体/区块环境三阶段统一按稳定键分片(实体按 ID、TE 按方块坐标、区块环境按区块坐标),每片由跨 tick 的 CAS 门控独立提交。单个慢分片自动掉拍延后,不再阻塞对应阶段的并行屏障——把"单点慢"从拖垮全局变成只拖自己。
- **POI 并发锁优化**:将村民等实体高频读取的职业兴趣点(POI)存储从全互斥同步容器替换为无锁并发容器,消除并行 tick 下的全局锁瓶颈。约 1.9 万村民压测下 TPS 由 9 提升至 20(16 核)。
- **碰撞优化**:可禁用实体间碰撞,消除 O(n²) 碰撞开销,显著释放 TPS。
- **异步传送门传送**:支持原版下界/末地传送门与模组维度(如暮色森林、以太)传送门的异步预加载与渐进生成,避免传送到未加载区块导致的卡顿、冻结与虚空传送。 - **异步传送门传送**:支持原版下界/末地传送门与模组维度(如暮色森林、以太)传送门的异步预加载与渐进生成,避免传送到未加载区块导致的卡顿、冻结与虚空传送。
- **区块预取**:根据玩家位置与朝向预加载区块,加快跑图时的区块加载速度。 - **区块预取**:根据玩家位置与朝向预加载区块,加快跑图时的区块加载速度。
- **故障降级**:内置看门狗与故障熔断机制,异常时安全降级回原版串行 tick,保障服务器长期稳定运行。 - **故障降级**:内置看门狗与故障熔断机制,异常时安全降级回原版串行 tick,保障服务器长期稳定运行。