HurricaneSwordsEx.java:78-84 在服务端 for 循环 100 次调用 worldObj.spawnParticle("explode",...)——服务端 spawnParticle 每次向周围玩家广播 S2APacketParticles。100 次循环 = 100 个独立粒子包,而客户端粒子渲染完全可以用更少包或客户端本地生成。
worldObj.spawnParticle("explode",...)
代码位置:
调用链: SA 释放(服务端) → for i in 0..100: worldObj.spawnParticle("explode", ...) → 每次调用 → S2APacketParticles 广播给 tracking 范围内全部玩家
单次施放 100 包 × 周围玩家数。多玩家同时施放:P 玩家 × 100 包/次。单次成本低(SA 有冷却),列低危。
网络同步:服务端逐粒子广播,无批量。
施放时抓包/网络统计对比包数量。
Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。
No dependencies set.
The note is not visible to the blocked user.
问题描述
HurricaneSwordsEx.java:78-84 在服务端 for 循环 100 次调用
worldObj.spawnParticle("explode",...)——服务端 spawnParticle 每次向周围玩家广播 S2APacketParticles。100 次循环 = 100 个独立粒子包,而客户端粒子渲染完全可以用更少包或客户端本地生成。技术分析
代码位置:
调用链:
SA 释放(服务端)
→ for i in 0..100: worldObj.spawnParticle("explode", ...)
→ 每次调用 → S2APacketParticles 广播给 tracking 范围内全部玩家
影响规模
单次施放 100 包 × 周围玩家数。多玩家同时施放:P 玩家 × 100 包/次。单次成本低(SA 有冷却),列低危。
根因分析
网络同步:服务端逐粒子广播,无批量。
优化方向
保持视觉表现不变。不影响 Forge API/Mod API/存档。
验证方案
施放时抓包/网络统计对比包数量。
Archive 组织仓已过时(Daniel 2026-09-23),整组织 issue 统一关闭。
[性能][低] HurricaneSwordsEx 单次施放服务端循环 100 次 spawnParticle:每次调用广播粒子包to HurricaneSwordsEx 单次施放服务端循环 100 次 spawnParticle:每次调用广播粒子包