英灵神殿性能设置

创作者: zolantris
已更新:2026-09-19 17:53:55
121KB

关于此 MOD

英灵神殿可扩展性 - 提升英灵神殿的性能与可扩展性

英灵神殿性能缩放

英灵神殿可扩展性 是一个《英灵神殿》的客户端性能模组,专注于提升大型建筑、密集聚居地和人口稠密区域的渲染性能。

该模组通过将兼容的静态网格体合并为更大的渲染批次,减少了需要单独渲染的对象数量。它包含针对动画、交互、可破坏、模组、物理驱动以及受风影响对象的保护机制,使其在需要时仍能保持独立。

让《英灵神殿》渲染更多内容,而无需玩家减少建造。


功能

星区网格聚类

ValheimScalability 将已加载世界区块中兼容的静态网格合并为更大的组合网格。

这可以显著减少渲染器和绘制调用的开销,尤其是在包含大量以下内容的区域:

  • 建筑部件
  • 墙壁
  • 楼层
  • 屋顶部件
  • 静态装饰
  • 岩石和其他兼容的世界几何体
  • 模组添加的其他静态网格体

原始游戏对象保持加载且功能正常。ValheimScalability 改变兼容几何体的渲染方式;它不会移除底层的 碎片, 磨损与撕裂, 网络视图、物理、碰撞体或其他玩法组件。

自适应渲染

在 自适应 模式,远处单元格使用集群渲染,而附近可见单元格则恢复其原始渲染器。

这在常规交互与降低绘制调用开销之间提供了一种兼顾兼容性的平衡。

全集群渲染

满员 无论玩家距离远近,保持兼容几何体聚类。

这通常能最大程度减少绘制调用,尤其适用于性能基准测试和超大规模构建。

简易A/B性能测试

设置:

模式 = 关闭

恢复正常物体渲染而无需卸载模组。

这样可以轻松比较启用和禁用聚类时的同一位置。


渲染模式

模式 行为 推荐用法
关 仅限原版英灵神殿渲染器。生成的集群渲染不会呈现或重建。 基准FPS对比与故障排除
自适应 附近可见的单元格使用原始渲染;较远的单元格使用聚类渲染。 通用玩法
满员 在一切安全之处使用集群渲染;玩家靠近不会恢复原始物体。 最高性能,超大型定居点,基准测试

安装

像安装普通的BepInEx Valheim模组一样安装ValheimScalability。

雷霆商店 / 模组管理器

通过你常用的兼容Thunderstore的模组管理器安装该模组。

手动安装

将 ValheimScalability 插件复制到你的 Valheim BepInEx 插件目录中:

英灵神殿/ └── BepInEx/ └── plugins/ └── ValheimScalability/

先启动一次游戏,以在以下位置生成配置文件:

BepInEx/配置/

客户端模组

ValheimScalability 是一个 客户端渲染优化.

它不会改变:

  • 世界数据
  • 建筑放置
  • 伤害值
  • 网络所有权
  • 已保存对象
  • 服务器权威游戏状态

专用服务器无需运行渲染系统。每位玩家都可以为自己的客户端配置渲染行为。


推荐配置

个人资料 模式 细胞分裂 最低细节层次 材质属性块 笔记
通用玩法 自适应 1 真 跳过 推荐起点
最高性能 全集群 1 假 跳过 最强大的批处理与最简单的基准测试配置
基准 / 已禁用 关 1 不适用 不适用 与正常渲染对比

每扇区细胞分裂次数 = 1 是默认值,因为它在测试中产生了最强的实际增益。更高的值会以批处理效率换取更精细的自适应模式接近度和剔除粒度。


配置参考

星区集群

章节:

[渲染.扇区聚类]
设置 默认 范围/数值 描述
模式 自适应 关, 自适应, 满员 选择聚类是禁用、邻近感知,还是在安全时始终启用。
每区细胞分裂次数 1 1-8 将每个英灵神殿扇区划分为更小的集群单元。 1 产量最大,默认推荐使用。
玩家散开半径 18 0-128 仅自适应。以玩家为中心的世界空间半径,采用基本方向/曼哈顿距离,可恢复原始渲染器。
玩家接近轮询间隔 0.15 0.05-2 秒 自适应模式接近检测的频率。
需要相机可见性才能取消聚簇 真 布尔值 仅自适应。附近的单元格只有在本地相机也可见时才会恢复。
始终在玩家附近聚集碎片图层 假 布尔值 实验性。保持符合条件 碎片 图层渲染即使在玩家附近也聚集在一起。
全星区单格使用 真 布尔值 强制FullCluster中每个扇区使用一个单元,以最小化批处理碎片。
维护间隔 0.20 0.05-2 秒 构建/重建/清理维护的时间间隔。
初始建造延迟 0.75 0-5 秒 新细胞首次集群构建前的延迟。
注册结算延迟 0.35 0.05-2 秒 新对象注册后,在重建前进行防抖。
移除重建延迟 0.20 0-2 秒 先前聚簇的几何体消失后进行防抖。
伤害冷却 8 0-60 秒 受到最新伤害后,受影响单元格可以重建之前的时间。
可见高度 2048 64-8192 用于单元格摄像机视锥检查的垂直尺寸。
使用最低细节层次 真 布尔值 构建优化表示时使用可用的最低LOD渲染器。
跳过材质属性块渲染器 真 布尔值 推荐。使用 MaterialPropertyBlocks 的渲染器保留原始设置,因为无法安全合并任意逐对象的着色器状态。
预计DrawCall节省最小值 1 1-1024 至少需要达到此预估的绘制调用节省量,才能使用优化后的表示形式。
日志批量诊断 假 布尔值 日志已生成批处理键、实例计数和呈现状态诊断信息。

细胞分裂的权衡

每区格胞分裂数 每区格数 批处理 剔除 / 自适应粒度
1 1 最佳 最粗糙
2 4 非常好 更好
4 16 更加碎片化 好吧
8 64 最碎片化 极品

对大多数用户,请将此保留为 1仅当你特别偏好更精细的自适应过渡或剔除粒度,并愿意牺牲部分批处理效率时,才建议提高该值。


对象、图层、材质和着色器筛选器

章节:

[渲染.扇区聚类.过滤器]
设置 默认 描述
包含图层 默认,静态实体,默认小型,碎片 以逗号分隔的图层名称或数字图层ID,可用于批处理。留空表示所有图层。
排除图层 (空) 必须保持原样的层。排除项优先于包含项。
包含的对象名称 (空) 可选的逗号分隔、不区分大小写的对象名称子字符串。留空表示所有对象名称均符合条件。
已排除对象名称 传送门,门,宝箱,推车,轮子,机关,破坏,传送门破坏,破坏方块,载具水面网格,动态,能量等级 始终保持原样的对象名称子字符串。
包含对象正则表达式列表 (空) 可选的以分号分隔的对象名称正则表达式。
排除对象正则表达式列表 (空) 用分号分隔的正则表达式,用于指定必须保持原样的对象名称。
排除的材质名称 (空) 以逗号分隔的要排除的材质名称子字符串。
排除材质正则列表 (空) 用于排除的、以分号分隔的材质名称正则表达式。
排除的着色器名称 (空) 以逗号分隔的着色器名称子字符串,用于排除。
排除的着色器正则列表 (空) 分号分隔的着色器名称正则表达式以排除。

名称筛选不区分大小写,按子字符串匹配。正则表达式列表使用分号分隔,因此正则表达式中可以包含逗号。

仅用于排查玩家或建筑部件问题时,一个有用的临时过滤器是:

包含图层 = 部件

温暖区域储藏箱

章节:

[渲染.扇区聚类.缓存]

ValheimScalability 使用有界的热区缓存,因此在大世界中航行或探索时,已生成的集群网格不会永久保留。

活跃区域为 不 受热缓存限制约束。这些限制仅在区域离开活跃区域后生效。

设置 默认 范围 / 特殊值 描述
已启用 真 布尔值 保留一组有限数量的最近或频繁使用的不活跃区域集群。
最大温暖区域 96 0-4096; 0 无限 保留的非活动热区的最大数量。
最大热网格内存MB 768 0-32768; 0 无限 非活动热区的近似生成网格内存预算。
最大单个暖区兆字节 256 0-8192; 0 无限 防止一个极大的非活动区域独占热缓存。
温暖区域保持秒数 300 0-86400 普通暖区停留时间。
频繁访问阈值 3 1-1000 区域获得常驻区域保留前所需的不同访问次数。
最大频繁暖区 16 0-1024 频繁非活跃区域可获得延长保留的最大数量。
频繁暖区停留秒数 1800 0-86400 对频繁访问的基地、传送门枢纽、农场、码头等延长保留时间。
日志缓存诊断 假 布尔值 记录热缓存条目、重新激活、逐出以及大致保留的网格内存。

生命周期大致如下:

活跃 当前/附近区域 ↓ 热 近期/频繁活动区域,受记忆 + 计数 + 保留限制 ↓ 冷 已生成的集群数据已销毁

拥有大量内存的玩家如果频繁在超大建筑之间传送,可以提高这些限制。


树木、植被与实验性GPU实例化

植被需要特殊处理,因为许多树木和植物着色器使用逐对象数据来实现风吹动效果。

简单地将多棵树合并成一个网格可能会让整组树像一个物体一样摇晃,因此受风影响的物体 不 通过常规静态网格合并强制处理。

区域:

[渲染.扇区聚类.实例化]
设置 默认 描述
启用 否 为检测到的植被/风效渲染器启用的实验性手动GPU实例化路径。默认禁用。
对象名称提示 树,灌木,树苗,山毛榉,桦树,冷杉,松树 用于对植被候选对象进行分类的对象名称提示。
材料名称提示 叶,叶子,树枝,树叶,树,灌木,植被 用于对植被候选进行分类的材质名称提示。
着色器名称提示 植被,树木,树叶,风,植物 用于对植被候选对象进行分类的着色器名称提示。
候选正则表达式列表 (空) 可选的分号分隔正则表达式,用于匹配对象/材质/着色器描述符。
风着色器属性名称 _风,_风力,_风速,_风强度,_摆动,_摆动速度,_风数据 用于标识风力和实例化候选对象的着色器属性。

在禁用实验性实例化后,检测到的风/植被对象将正常渲染,而不会错误地进行网格合并。


可破坏物体

ValheimScalability 追踪对优化对象造成的伤害。

当优化的可破坏物体受到伤害时:

  1. 受影响的渲染单元暂时恢复正常渲染。
  2. 已损坏的对象在该已加载扇区生命周期内将被排除在未来的聚类之外。
  3. 重复伤害会延长冷却时间,而非每次命中都重新累积。
  4. 剩余兼容几何体可在区域足够长时间无活动后重建。

这允许可破坏的静态几何体保持交互性,而无需在每次伤害事件时重建合并网格。


兼容性矩阵

Valheim的可扩展性设计有意保持保守。如果一个对象无法安全地由共享静态集群网格表示,它应保留在其原始渲染器上。

对象/渲染类型 是否支持网格批处理? 行为 / 备注
原版静态建筑组件 是 模组的主要目标。具有合适渲染状态的兼容部件会被组合在一起。
静态模组建筑部件 通常 当他们使用兼容的 网格渲染器 / 网格过滤器 几何形状并通过已配置的筛选条件。
静态岩石/世界几何体 通常 静止且使用支持的材质/着色器时生效。
可破坏的静态物体 是的,有保障措施 伤害会恢复受影响的渲染单元格,并在该已加载扇区的生命周期内将受损对象排除在后续批处理之外。
LOD组 物体 是 瓦尔海姆可扩展性选择一个符合条件的LOD渲染器; 使用最低细节层次 控制是否优先使用可用的最低细节层次。
网格渲染器 + 网格过滤器 是 主要支持的渲染路径。
蒙皮网格渲染器 否 不是静态网格几何体,保留在其原始渲染器上。
动画器驱动/动画对象 否 / 已排除 动画需要独立变换和状态,并应保持原始状态。
角色 / 生物 / 玩家 否 明确排除在聚类之外。
移动/非运动学 刚体 物体 不 非运动学下的根 刚体 被拒绝。单个合并的世界网格无法安全地跟随独立移动的物理对象。
移动刚体层级下的内部网格 否 故意未被 ValheimScalability 批量处理。这包括其父级层级正在物理移动的内部组件。
运动学刚体层级 可能 如果其他方面是静态且兼容的,则可能符合条件,因为只有非运动学刚体层级会被自动拒绝。
门、宝箱、传送门、推车、轮子、机关 通常不 常见的互动名称默认会被排除。用户可以自定义筛选条件。
材质属性块渲染器 通常不会 默认跳过,因为每个渲染器的着色器状态无法通用地安全重建。
随风摆动的树木/植被 不使用静态网格合并 默认保留原版。实验性GPU实例化可单独使用。
自定义/特殊模组着色器 尽力而为 可根据需要按对象、材质、着色器名称、层或正则表达式排除。
英灵神殿木筏载具与载具内部结构 由ValheimRAFT处理 ValheimScalability 有意避免移动 Rigidbody 层级结构。ValheimRAFT 已经拥有自己的载具内部部件聚类/渲染优化,因此这两个系统无需为这些网格而相互竞争。
其他载具/移动基地模组 未在内部自动批处理 它们移动的刚体层级应保持原样,除非该模组提供了自己的安全载具本地批处理系统。

为什么刚体内部组件没有合并

由ValheimScalability创建的合并网格表示某个扇区/单元格的静态世界空间几何体。

如果源层级由非运动学刚体驱动,那么将其内部渲染器合并为静态扇区网格后,一旦该物理对象移动,视觉表现就会与物理对象分离。

因此,ValheimScalability 会拒绝非运动学刚体的根节点 刚体 在他们的父级层级中。

这对舰船、载具、物理装置和移动基地来说尤为重要。

瓦尔海姆木筏

ValheimRAFT是一个特殊情况,因为它已经管理了附加到其移动载具层级上的部件的优化。

英灵神殿可扩展性专注于 世界区域渲染,而 ValheimRAFT 负责处理 本地载具渲染因此,ValheimScalability 无需对移动中的 ValheimRAFT 载具内部组件进行网格批处理。


故障排除

一个物体消失或显示异常

将部分对象名称添加到 排除对象名称,或者在整体渲染类型受影响时排除其材质/着色器。

模组动画物体变为静态

排除对象、材质或着色器。某些模组使用了无法通用检测的系统来为网格制作动画。

树木移动得很奇怪

保持实验性实例化禁用,并确保植被不会通过静态网格合并被强制处理:

[渲染.扇区聚类.实例化] 启用 = false

性能变差

从以下开始:

模式 = FullCluster 每扇区细胞分裂次数 = 1

仅用于建筑测试:

包含层 = 棋子

然后将同一位置与以下内容进行对比:

模式 = 关闭

旧配置选项仍然可见

BepInEx 不会自动移除过时的配置项。

旧版本可能创建过以下设置:

启用 PresentationMode NearPlayerSectorRadius VisibilityUpdateInterval

如果你想重新生成干净的配置文件,请删除 ValheimScalability 配置文件并重新启动。


性能说明

Valheim可扩展性主要针对 渲染开销.

它可以降低渲染数千个独立静态对象的成本,但不会移除底层的游戏对象。

如下系统:

  • 碎片
  • 磨损与撕裂
  • 网络视图
  • 物理
  • 碰撞体
  • 结构支撑计算
  • AI
  • 其他模组的脚本

即使可见网格已合并,仍会消耗CPU时间。

因此,性能提升取决于该区域是受渲染限制还是受模拟限制。


真实世界性能基准测试

以下结果来自实际游戏内测试,展示了ValheimScalability在渲染密集型区域所能带来的性能提升。

性能会因建筑密度、可见部件、材质与着色器、其他模组、视距、渲染分辨率以及CPU和GPU性能上限而有所差异。

测试系统

组件 硬件
CPU 英特尔酷睿i9-10900K
图形处理器 NVIDIA GeForce RTX 3090 Ti
记忆 128 GB DDR4
显示 三星奥德赛G9,7680x2160,120赫兹

显示器支持7680x2160,但未记录这些基准测试环节中实际使用的游戏内渲染分辨率。

密集聚落/大型建筑

这次测试使用了一个已有的存档,其中包含一个玩家建造的、人口密集且建筑部件数量庞大的区域。

渲染模式 观察到的帧率 笔记
普通/未优化渲染 ~14 帧/秒 同样的高密度聚落,在有效聚类之前
满员集群 ~36-60 FPS 每个区域的单元格划分 = 1;大幅减少单独渲染的网格数量
自适应 基准测试待定 取决于玩家位置、半径、可见性和聚类粒度

测量所得 全满群组 结果大约代表 帧率提升2.6倍至4.3倍 与此特定测试中约14 FPS的基线相比。

光之草甸 / 小型建筑

一片近乎空荡的草地,其中有一座小木制建筑,也被用于调整集群粒度时的测试。

配置 观测帧率
较早的群集配置 ~60 FPS
每扇区细胞分裂次数 = 1 ~100 帧

这不是一次纯粹的 vanilla 与 mod 对比基准测试。它表明,过度的集群细分会产生足够多的额外渲染批次和管理开销,从而降低网格合并带来的收益。

复现基准测试

为了便于对比:

  1. 站在同一位置并面向同一方向。
  2. 请等待几秒钟,区域加载完成。
  3. 用以下方式记录帧率 模式 = 关闭.
  4. 用以下方式记录帧率 模式 = 全集群 和 每扇区单元格分割数 = 1.
  5. 可选比较 模式 = 自适应.

为获取自适应结果,还需报告 玩家分散半径, 取消聚集需要摄像机可见性,以及 每分区细胞分裂次数.


报告问题

报告渲染兼容性问题时,请包含:

  • 瓦尔海姆可扩展性版本
  • 英灵神殿版本
  • 受影响的预制体/对象名称
  • 添加该对象的模组(如适用)
  • 你的 渲染.扇区聚类 配置
  • 显示问题的截图
  • 问题是否会随 模式 = 关闭

关于性能报告,请包含同一位置在两种模式下的FPS 模式 = 关闭 和 模式 = FullCluster.


其他推荐性能模组

https://thunderstore.io/c/valheim/p/Skarif/ValheimPerformanceOverhaul/ 这个模组可以与ValheimScalability一起使用。它可能更侧重于提升低密度区域的帧率,而ValheimScalability则专注于高密度区域/建筑部件。

GitHub

该项目可在以下位置找到:

https://github.com/zolantris/ValheimMods/tree/main/src/ValheimScalability


授权

请查看仓库许可证了解详情。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!