现象
当前 CoreSwap 在生成每个 chunk 时都会向 STDOUT 无条件打印一行(拦截/跳过各一行),且每 chunk 还伴随一次全量扫描 int[98304] 数组 用于统计,导致日志刷屏并拖慢区块生成热路径。以上均可从日志直接观察到。
影响
游戏环境
Minecraft 1.20.1
Fabric Loader 0.19.3
Java 21.0.6.0 LTS
Windows 10 64bit (19041.6456)
AMD Ryzen 5 9600X
NVIDIA GeForce RTX 5060 Ti 16G
Mod列表
coreswap 1.20.1-1.0.18
sodium 0.5.13+mc1.20.1
iris 1.7.6+mc1.20.1
fabric-api 0.92.11+1.20.1
modmenu 7.2.2
wthit 8.21.1
xaerominimap 26.4.2
xaeroworldmap 1.45.0
replaymod 1.20.1-2.6.23
minihud 0.27.1
malilib 0.16.3
badpackets 0.4.3
重现步骤
以上述配置启动 1.20.1(Fabric 0.19.3)。
进入任意维度并让区块生成即可(无需特殊操作)。
打开 logs/latest.log 或 logs/2026-08-27-1.log 观察刷屏:
[Mixin] populateNoise intercepted chunk(-8,-16) <- 每个被拦截的 chunk 一行
[Mixin] buildSurface skipped chunk(-17,4) <- 每个被跳过的 chunk 一行
日志
原始日志链接:https://mclo.gs/J2XHRym
logs/2026-08-27-1.log 第 230–244 行节选:
[19:56:58] [Worker-Main-9/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,4)
[19:56:58] [Worker-Main-5/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,2)
[19:56:58] [Worker-Main-5/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,1)
[19:56:58] [Worker-Main-11/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,5)
[19:56:58] [Worker-Main-8/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,8)
[19:56:58] [Worker-Main-3/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,9)
[19:56:58] [Worker-Main-1/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,0)
[19:56:58] [Worker-Main-1/INFO]: [STDOUT]: [Mixin] buildSurface skipped chunk(-17,7)
...
补充分析(由Agent协助分析)
日志显示,每生成一个 chunk 都会打印 populateNoise intercepted / buildSurface skipped 这两类诊断行,没有任何 DEBUG/开关门控 (mod 一启用即输出)。
每 chunk 还伴随一次全量扫描 int[98304] 数组 (用于统计)的额外开销。
每 chunk 还会反复读取环境变量 / 系统属性(如线程数解析),未做静态缓存。
建议 :用 LOGGER.debug 或新增 -Dcpp.debug 开关门控这些打印;移除/门控无条件全数组扫描;静态缓存环境变量 / 系统属性结果。修复成本低、收益明确(生成热路径 + 日志可读性),建议随 [BUG] 进入世界即崩溃:JVM 原生崩溃(msvcp140.dll 空指针,1.0.18) #16 一并处理。
现象
当前 CoreSwap 在生成每个 chunk 时都会向 STDOUT 无条件打印一行(拦截/跳过各一行),且每 chunk 还伴随一次全量扫描
int[98304]数组用于统计,导致日志刷屏并拖慢区块生成热路径。以上均可从日志直接观察到。影响
System.out.println+ 一次全数组扫描 → 不必要的磁盘/控制台 I/O 与 CPU 开销,拖慢生成。logs/2026-08-27-1.log第 230 行起,一次下界生成连续约 29 行[Mixin] buildSurface skipped chunk(-17,*),配合主世界populateNoise intercepted整体刷屏达数百行。游戏环境
Minecraft 1.20.1
Fabric Loader 0.19.3
Java 21.0.6.0 LTS
Windows 10 64bit (19041.6456)
AMD Ryzen 5 9600X
NVIDIA GeForce RTX 5060 Ti 16G
Mod列表
coreswap 1.20.1-1.0.18
sodium 0.5.13+mc1.20.1
iris 1.7.6+mc1.20.1
fabric-api 0.92.11+1.20.1
modmenu 7.2.2
wthit 8.21.1
xaerominimap 26.4.2
xaeroworldmap 1.45.0
replaymod 1.20.1-2.6.23
minihud 0.27.1
malilib 0.16.3
badpackets 0.4.3
重现步骤
logs/latest.log或logs/2026-08-27-1.log观察刷屏:日志
原始日志链接:https://mclo.gs/J2XHRym
logs/2026-08-27-1.log第 230–244 行节选:补充分析(由Agent协助分析)
populateNoise intercepted/buildSurface skipped这两类诊断行,没有任何 DEBUG/开关门控(mod 一启用即输出)。int[98304]数组(用于统计)的额外开销。LOGGER.debug或新增-Dcpp.debug开关门控这些打印;移除/门控无条件全数组扫描;静态缓存环境变量 / 系统属性结果。修复成本低、收益明确(生成热路径 + 日志可读性),建议随 [BUG] 进入世界即崩溃:JVM 原生崩溃(msvcp140.dll 空指针,1.0.18) #16 一并处理。