
异步聊天移植版
AsyncChat-Backport - 将Async Chat模组的非官方回溯移植至我的世界1.20.4,通过在专用后台线程处理消息来修复与聊天相关的卡顿问题。
查看大图📖 概述
在原版 Minecraft 中,聊天消息处理——包括接收、解析、格式化以及安全检查——是在主渲染线程上同步执行的。当网络延迟较高或服务器响应缓慢时,这些操作可能会阻塞渲染,导致明显的帧率下降、卡顿和“尖峰”帧时间,尤其是在消息频繁交换的多人游戏环境中。
本模组通过将所有聊天处理卸载到专用的后台线程来解决此问题。
🔄 1.20.4 中有什么变化?
原版 Async Chat 模组针对的是旧版 Minecraft,当时主要的聊天拦截点是 handleChatMessage(PlayerChatMessage, ChatType.Bound) 方法。
在 Minecraft 1.20.4 中,Mojang 移除了此方法,并用一个新的签名取而代之:handlePlayerChatMessage(...),该签名现在包含一个 GameProfile 参数。此更改反映了玩家身份和聊天类型管理方式的内部更新。
⚙️ 工作原理
-
拦截 – 当聊天消息从服务器到达时,模组会立即拦截它。
-
卸载 – 消息被移交到单独的后台线程。
-
异步处理 – 所有开销较大的操作(解析、验证、历史记录更新等)都在此后台线程上异步运行。主渲染线程保持不受干扰,确保持续流畅的 FPS。
-
安全渲染 – 后台处理完成后,仅将线程安全的渲染数据传回主线程,进行轻量级的 UI 更新。聊天消息以最小的性能影响呈现。
📜 致谢与许可合规
原项目: totorewa/async-chat-mod: 通过在单独线程上处理聊天消息来阻止渲染卡顿
此向下移植版本: 基于原作品改编,适用于 Minecraft 1.20.4
许可: 原项目根据 MIT 许可证 授权。我的项目则根据 GNU 通用公共许可证 v3.0 授权。
重要说明: 这是一个独立的向下移植版本,与原作者无任何关联。核心概念的所有功劳均归于 totorewa。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。