失落城市:多线程

在你的语言中支持该模组!

资源介绍

LC2H | 失落之城:多线程 在你的语言中支持该模组! V4 已正式脱离测试阶段 LC2H V4.1.2-正式版 在经历 V4 测试周期后,经过大量真正的模组包测试、平衡性调整、世界生成修复、清理优化以及性能改进工作,LC2H V4 现在被视为稳定版本并进入正式发布阶段。 V4.1.2 将成为后续 LC2H 的主要支持版本 :] NEOFORGE 1.21.1 移植状态 随着 LC2H V4 正式脱离测试阶段并进入全面发布,假设在 V4.1.2-正式版中未发现新问题,NeoForge 1.21.1 移植版计划于本周内推出。 如果一切保持稳定,NeoForge 将是下一个目标 :] 兼容性 构建和测试基于: Minecraft 1.20.1 Forge 47.4.x 失落之城 7.5.x 量化 API 2.2.0 LC2H 还包含对 Distant Horizons、C2ME、Sinytra Connector、自定义地形、自定义结构、跨区块世界生成特性以及大型整合包环境的兼容性处理。 世界生成仍受您整合包中其他模组的影响。一个包含大量复杂结构、地形模组、自定义树木、光照更改、Distant Horizons 或其他异步世界生成模组的整合包,其行为可能与纯净的 Lost Cities 设置大相径庭。 许可证声明 LC2H 采用以下许可证授权: BRSSLA V2.0.0 . 请在重新分发该模组(包括在整合包内)之前阅读完整许可证。 阅读 BRSSLA V2.0.0 什么是 LC2H? LC2H 是一个针对性能、稳定性和世界生成的重构层,适用于: Lost Cities . 它并不替换 Lost Cities 的配置文件、结构、风格或玩法特色。它改变的是昂贵计算工作的准备、调度、缓存、协调和应用方式。 核心理念很简单:阻止 Lost Cities 在每次城市开始生成时占用 Minecraft 主线程进行繁重计算。 Lost Cities 拥有大量与共享状态、递归规划、相邻区块、城市信息、高速公路、结构、地形修正以及重复查询相关联的高成本生成工作。 这在简单世界中尚可管理,但当您将大型城市与地形模组、结构、树木、高速公路、隧道、Distant Horizons 以及多个同时请求相同信息的世界生成工作线程结合使用时,问题会迅速恶化。 LC2H 将可以安全异步执行的工作从主路径中分离,大幅减少重复计算,保持昂贵规划数据的可复用性,并确保对 Minecraft 敏感的世界变更仍能在 Minecraft 预期的位置发生。 目标不是向 Lost Cities 抛出一百万个线程然后祈祷。目标是先降低昂贵部分的成本,然后再安全地扩展工作。 V4.1.2 - V4 的稳定版本 V4.1.2 标志着 V4 生成架构正式脱离 BETA 阶段。 Beta 周期暴露了许多仅在真实模组包开始将 Lost Cities 与异步生成、大型结构、自定义地形、远视(Distant Horizons)、模组化植被和跨区块特性结合时才会出现的棘手边缘情况。 这些问题已经经历了多次 V4 清理和稳定性发布,V4.1.2 完成了剩余的植被和树木清理问题。 修复了藤蔓、发光地衣和沉浸天气(Immersive Weathering)霜冻有时在世界生成清理后幸存的问题。 延迟的树木写入和接缝树木写入现在通过相同的清理系统。 清理重试得以保留,而不是在队列承受巨大压力时消失。 修复了由于结构/树木保护检查不正确导致的残缺树木和孤立树叶。 改进了跨区块所有权,使结构和植被不会在放置中途改变决定。 在 V4 测试周期后,继续收紧并发 Lost Cities 生成路径。 V4.1.2 不再被视为实验性版本。它是 Forge 1.20.1 的主要稳定 LC2H 版本。 传统网格还是新的 Lost Cities 规划器?由你选择。 Lost Cities 7.5 引入了其更新的 “ 分层网格 街道生成系统。 LC2H 支持新的规划器和经典的 Lost Cities 布局系统,你可以直接通过 LC2H 配置选择你想要的系统。 分层网格 V1 是 LC2H 的默认选项,使用新的 Lost Cities 规划街道系统。 传统模式 恢复了针对围绕其构建的世界或模组包的旧版 Lost Cities 城市/街道布局行为。 该模式可以从 LC2H 的游戏内配置屏幕中选择。 ChaosZPack 风格的配置文件会自动保持在传统模式,因为它们的布局是围绕旧网格设计的。 这意味着升级到现代 LC2H 不会强制每个旧世界或自定义配置文件采用完全不同的城市布局。 如果你的模组包依赖于旧版 Lost Cities 街道布局,请切换到传统模式。如果你想要新的规划街道系统,请使用分层网格 V1。 V4 - 真正的重建 V4 不是 V3 上面再扔一个缓存。 执行模型的大部分被重建,因为旧的混合路径已经达到了这样一个点:修复一个共享状态问题通常会在其他地方引发另一个问题。 V4 管道围绕范围规划、可重用的不可变数据、多块所有权、有界缓存、确定性决策和安全的应用程序构建。 昂贵的规划数据只捕获一次并重用,而不是由每个工作节点重新构建。 世界和维度缓存的范围正确设置,因此旧世界无法将生成状态泄漏到新世界中。 单次飞行规划防止多个工作节点同时计算同一个昂贵的区域。 BuildingInfo 和其他递归的失落之城路径得到协调,因此异步生成不会变成死锁模拟器 xd 多块建筑保留其完整的地基,而不是被另一个块切断。 道路、高速公路、隧道、城市地板、地形边缘和周围的生成状态可以一起规划。 跨块树木被捕获并回放,不留 chopped 树干、悬浮树叶或随机接缝垃圾。 结构保护防止许多原版和模组结构直接穿过受保护的城市空间进行裁剪。 Distant Horizons 拥有自己的远距离生成路径的所有权,而不是 LC2H 试图劫持它。 快速失败的路径安全回退,而不是阻塞生成或静默发布无效结果。 Minecraft 仍然拥有最终敏感块突变的所有权。LC2H 不会盲目地从随机工作节点线程写入世界并希望什么也不会爆炸。 城市安全结构处理 城市和普通 Minecraft 结构并不自然理解彼此的边界。 这就是为什么你会遇到屋顶被切成两半、结构在街道内、树木悬在空中、建筑物周围有洞,或者无关的世界生成直接穿过城市的原因。 V4 添加了一个适当的结构保护路径,跟踪城市和多重建筑的地基,而不是每次有人询问是否可以放置时做出微小的孤立猜测。 当结构起始位置与受保护的城市空间重叠时,可以被拒绝。 大型多重建筑在放置前预留其完整的地基。 较小的结构仍可使用剩余空间,而不会不必要地杀死整个区域。 道路、高速公路、隧道和城市边界受到保护,免受无关结构工作的影响。 跨块结构决策在放置过程中保持一致。 当树木和叶子的写入跨越块边界时,可以延迟。 延迟和接缝树木的写入通过清理进行跟踪,而不是与原始树木脱节。 系统设计为安全失败,并在 LC2H 无法自信地接管所有权时保留原生失落之城路径。 植被和清理 跨块植被听起来很简单,直到一棵树开始在一个块中,它的叶子落在其他三个块中,另一个结构拥有半个空间,并且每个工作节点的生成顺序不同 :] 因此,V4 有一个专用的有界清理系统,用于植被和延迟的树木工作。 跨块树木写入可以延迟并安全回放。 树木接缝写入保持与原始清理生命周期的连接。 更可靠地检测部分树木和孤儿叶子。 可以自动移除悬浮的藤蔓和发光地衣。 当安装 Immersive Weathering 时,检测到浸没式风化霜并进行清理。 额外的植被块可以通过 LC2H 进行配置。 即使生成处于高压状态下,清理重试也保持在队列中。 清理系统是有界的,因此修复几个愚蠢的悬浮叶子不会成为下一个世界生成性能问题。 性能数字 没有捏造的“快 100 倍”的废话。这些是从已验证的 V4 热路径中进行的专注测量。 工作量 测量结果 噪声计算 快 9.16 倍到 18.64 倍 城市中心随机访问 快 4.25 倍到 9.49 倍 直接城市决策 快 1.52 倍到 2.61 倍 城市区域遍历 快 2.11 倍到 2.73 倍 树木邻域查找 快 24.36 倍到 28.16 倍 这些是专注的热路径测量,而不是通用的每秒区块数保证。 实际的世界生成速度取决于你的 CPU、磁盘、地形生成器、结构、光照、流体、渲染距离、Distant Horizons、服务器配置以及争夺同一台机器的每一个其他模组。 重要的是,这些收益来自减少不必要的工作、重复计算和同步,而不是简单地将更多线程投入到相同的昂贵算法中。 一致性和安全检查 在已验证的测试车道中,噪声奇偶校验误差保持在 4.1e-16 以下。 65,536 个城市随机奇偶校验样本完成,零双重不匹配。 整数城市奇偶校验完成,零不匹配。 世界和规划器奇偶校验工具直接构建在 V4 开发管道中。 GPU 结果在允许影响生成之前得到验证。 不可用或失败的 GPU 路径回退到 CPU 路径。 产生更差性能或不同生成的危险优化被拒绝,而不是为了更大的基准数字而被发布。 目标不是强制所有东西都进入 GPU 或工作节点线程。 目标是使快速路径的成本更低,同时为不寻常的地形、结构和模组生成的世界保留确定且安全回退行为。 Vulkan、OpenCL 和 Quantified API LC2H 使用 Quantified API 作为其硬件和计算抽象层。 当 Quantified API 找到可用的 Vulkan 运行时,LC2H 可以使用 Vulkan 执行选定的高计算量工作,同时保留优化的 CPU 路径作为权…

在鱼乐云资源中心浏览该资源,登录后可一键安装到你的游戏服务器。

返回资源中心