Add entity sharding (ShardGate) and POI lock optimization

- ShardGate: shard entity ticking into per-shard CAS gates so slow shards
  skip a tick instead of blocking the whole barrier
- EntityTickParallel: collect entities by stable id into shards, submit via
  ShardGate, count missed shards
- FineGrainScheduler: add submitShard path with gate release and barrier
  counting
- SectionStorageMixin: replace global exclusive synchronized map with
  ConcurrentLong2ObjectMap to remove the POI read lock bottleneck
  (~19k villagers: TPS 9 -> 20)
- MasterCommand: add 'fine sharded on|off' toggle and status display
- Add environment setup/launch scripts
This commit is contained in:
modzuozhi committed 2026-09-09 22:13:02 +08:00
1 parent 1607a87213
commit 3c4710490c
11 files changed
+391 -31

No files matched your search

+2 -3
View File
@@ -1,7 +1,6 @@
# Sets default memory used for gradle commands. Can be overridden by user or command line properties.
# This is required to provide enough memory for the Minecraft decompilation process.
# 本机 JDK 路径(机器特定,已从仓库中注释掉)。如本地构建报"无法找到 JDK",请取消注释并填你本机的 JDK 路径。
#org.gradle.java.home=C:\\Program Files\\Java\\jdk-21
org.gradle.java.home=C:\\Program Files\\Java\\jdk-21
org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=true
org.gradle.parallel=true
@@ -38,7 +37,7 @@ mod_name=Dimensional Ripper
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=MIT
# The mod version. See https://semver.org/
mod_version=1.0.0
mod_version=1.1.1
# The group ID for the mod. It is only important when publishing build artifacts to Maven.
mod_group_id=dev.modzuozhi
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.