XGRIDS文档
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 灵视 P1

    • 产品概述
    • 设备基本操作
    • 使用 LCC Scan App
    • 维护及保养
    • 常见问题
  • 灵光 K 系列

    • 灵光 K1

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 地图融合
      • 典型场景路线规划建议
      • 注意事项
      • 常见问题
    • 灵光 K2

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 地图融合
      • 典型场景路线规划建议
      • 注意事项
      • 常见问题
  • 灵光 L 系列

    • 灵光 L2 Pro

      • 产品概述
      • 设备基本操作
      • 设备激活与连接
      • 设备采集
      • 获取绝对坐标点云数据
      • 实时测量功能
      • 附录
      • 常见问题
  • Lixel Studio

    • 版权
    • 安装与激活
    • 界面说明
    • 文件
    • 工程处理
    • 工具
    • 平面绘制
    • 行业应用
    • 设置
    • 设备感知
  • Lixel CyberColor

    • LCC Studio

      • 入门
      • 版本与更新
      • 下载与安装
      • 界面概览与导航
      • 重建前工作
      • 模型重建
      • 单模型重建
      • 地图融合
      • 空地融合
      • 航拍重建
      • 我的模型
      • 其他功能
      • 设置与账号
      • 转换工具
      • 视频重建
      • 常见问题 / FAQ
    • LCC Scene Editor

      • 版本与更新
      • 账号与登录
      • 产品概览与主页
      • 编辑器界面介绍
      • 三种场景漫游快捷操作
      • 文件
      • 设置
      • 编辑操作
      • 窗口
      • 视图工具栏
      • 资产与属性
      • 左侧工具栏
      • 视点
      • 跳转点
      • 天空盒
      • 标注
      • 测量
      • 场景漫游
      • 场景报告
      • 智能户型图(3D Layout)
      • 小地图
      • 预览模式(Viewer)
      • 帮助
      • 常见问题 / FAQ
      • 出生点
    • LCC Model Editor

      • 版本与更新
      • 新手指引
      • 概览与界面
      • 文件操作
      • 选择器
      • 编辑操作
      • 测量
      • 调色
      • 资产管理
      • 设置与帮助
      • 常见问题 / FAQ
    • 采集指南

      • 概述
      • 采集设备总览
      • 通用采集原则
      • 室内场景采集
      • 室外场景采集
      • 大场景采集(地图融合)
      • 空地融合采集
      • 物体采集
      • 人物采集
      • 视频重建采集
      • 高清补拍
      • 控制点(灵视 P1)
      • 常见问题与排查
    • 历史版本
  • Plugin & SDK

    • Unreal

      • 介绍
      • 快速入门 - Windows
      • 快速入门 - Linux
      • 快速入门 - Quest3
      • 版本与授权
      • 渲染
      • 画面调节
      • 法线与光照
      • 场景编辑
      • 性能参数说明
      • 性能优化指南
      • 第三方与引擎插件集成
      • 代理网格
      • 加载动画
      • 碰撞
      • 寻路系统支持
      • 单层水支持
      • 本地化
      • 常见问题
      • 故障排查
      • 日志与诊断
      • 联系我们
      • API 参考

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ULCCUtilLibrary
        • Enums
        • Structs
      • 更新日志

        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • X-Brain 系列

      • 产品概述
      • 快速开始
      • 核心概念
      • 集成指南
      • API 参考
      • 数据类型
      • ROS2 桥接
      • 示例程序
      • 部署与网络
      • 排障与 FAQ
      • 版本与发布

3DGS 性能参数逐项说明

本篇逐项说明每个参数的作用、取值以及调整后的实际效果,用于查阅单个参数的含义。按步骤定位瓶颈并调优的流程参考性能优化指南。

每个参数标题下的表格给出所在分组、取值范围、默认值、适用管线与生效方式。适用管线为「LCC」或「LCC2」时表示该参数只在对应管线上生效,标为「通用」的两条管线都可用。管线概念参考介绍。

Actor 面板参数

位于 Actor 的 Details 面板 Performance 分类,按适用范围分组:

  • Base 组:两条管线通用,所有 LCC Actor 都有这一组
  • 管线专有组:只在对应管线的 Actor 上显示,组名即管线名。当前版本只有 LCC 管线有专有组(组名 LCC),LCC2 管线的 Actor 只显示 Base 组
Performance 分类下的 Base 组参数

Base 组:两条管线通用的性能参数

Performance 分类下 LCC 组的参数

LCC 组:仅 LCC 管线的 Actor 显示这一组

注:Performance 分类下每个参数左侧都有一个勾选框。不勾选时该参数使用插件内置默认值,填写的数值不会生效。调整没有效果时,先确认勾选框已勾上。

Max Distance

分组取值范围默认值适用管线生效方式
Base任意正整数300通用立即

最大渲染距离,单位米。超出该距离的节点不参与渲染,也不会被加载。这是收益最直接的参数,调小后遍历、加载、上传、渲染的成本同时下降。

调小可显著提升帧率并降低内存与显存占用,代价是远处内容消失,边界处出现明显截断。需要与 Range For Level 一起看:若最大距离小于某个 Level 对应的距离,该 Level 及更远的层级不会被使用。

Max Splat Num

分组取值范围默认值适用管线生效方式
Base0 ~ 10000(单位:万)3000通用立即

每帧最大渲染点数。遍历结束后按距离由远及近剔除,直到总点数落到该上限内。它是一道硬性闸门,无论视野里有多少内容,单帧渲染量都不会超过这个值。

调小可锁定帧率上限、避免视野开阔时掉帧,代价是远处节点被丢弃,转动视角时可能看到远景缺失。填入过大的值会被自动限制到单帧实际可渲染的上限。

Level Factor

分组取值范围默认值适用管线生效方式
Base0.01 ~ 201通用立即

Level 选择的缩放系数,控制「多远开始降精度」。两条管线的实现机制不同:LCC 管线用它缩放全局的 Range For Level 距离表,LCC2 管线用它缩放屏幕空间误差阈值,效果方向一致。

大于 1 时更早切换到低精度层级,细节减少、性能提升;小于 1 时更晚降精度,画面更清晰但成本上升。建议保持 1,确有性能压力时小步上调。

Start Level

分组取值范围默认值适用管线生效方式
Base0 ~ 200通用立即

起始 Level,限定可使用的最高精度。默认 0 表示允许用到精度最高的层级。

设为 1 或更大时,即使贴近观察也不会加载最精细的层级,近处画面变模糊,但加载量和显存占用明显下降。低端设备或移动端可考虑上调。

End Level

分组取值范围默认值适用管线生效方式
Base0 ~ 2020通用立即

结束 Level,限定可使用的最粗层级。默认 20 表示不做限制,实际能用到数据本身的最粗一级。

调小后即使数据里有更粗的层级也不会被使用,远处只能停留在 EndLevel 这一级。画面不会出现空缺,但渲染的点数比实际需要的更多,性能反而下降。因此它不是提速手段,通常保持默认 20。

Max Load Collision Distance

分组取值范围默认值适用管线生效方式
Base任意正整数300通用立即

碰撞数据的最大加载距离,单位米。仅在启用碰撞后生效。

两条管线的碰撞数据都是分块加载:只加载相机周围该距离内的碰撞块,并随相机移动动态换入换出。因此这个值决定了任一时刻常驻的碰撞数据量。

调小可直接降低 Collision Data Usage 内存占用与 Update Collision 耗时,代价是远处没有碰撞。

配合寻路系统使用时通常需要调大,让目标区域的碰撞一次性全部加载完成。否则运行时碰撞随相机移动不断更新,会持续触发导航数据重新构建,造成明显卡顿。详见寻路系统支持。

Use Full Load

分组取值范围默认值适用管线生效方式
Base开启 / 关闭开启通用重新加载数据

是否允许全量渲染。开启时,若 Level 0 点数不超过 Full Load Splat Number,整份数据一次性加载并常驻显存,跳过每帧的遍历与上传;否则回退为按需加载。

开启后小场景的帧率更稳、无节点边界与细节跳变,代价是整份数据常驻显存。关闭则始终按需加载。

两条管线关闭后的显存表现不同:

  • LCC 管线按节点各自分配显存,占用随可见范围变化
  • LCC2 管线的显存 buffer 按预算预先分配,占用不随可见范围变化,改变的只是 buffer 内实际填充的数据量

详见渲染。

Full Load Splat Number

分组取值范围默认值适用管线生效方式
Base任意正整数(单位:万)1500通用重新加载数据

允许全量渲染的 Level 0 点数上限。

调大可让更大的场景走全量渲染,需确认显存足够;调小则更多场景回退为按需加载。

Sort Factor

分组取值范围默认值适用管线生效方式
LCC0.2 ~ 51仅 LCC立即

排序频率的缩放系数,作用于全局的 Sort Frequency For Level 表,控制各 Level 的节点多久重新排序一次。

调大则排序次数减少、性能提升,但视角变化时半透叠加顺序更新滞后,可能出现短暂的穿插错误;调小则排序更及时、成本更高。建议保持 1。

Add Extra Preload Nodes

分组取值范围默认值适用管线生效方式
LCC开启 / 关闭开启仅 LCC立即

是否向加载队列追加额外的预加载节点。开启时会预加载视锥边缘之外的一部分节点。

开启可缓解快速转动视角时屏幕边缘的空洞,代价是需要渲染的节点数增加;关闭则节点数更少,但快速转动时更容易看到边缘空缺。

ProjectSettings 全局配置

位于 ProjectSettings > Plugins > LCC4Unreal。这些设置对场景中所有 LCC Actor 生效,无法按 Actor 单独配置。

LCC4Unreal 项目全局设置

在 ProjectSettings 中配置 LCC4Unreal 全局参数

Language

分类取值范围默认值适用管线生效方式
GeneralFollow Editor / Always EnglishFollow Editor通用立即

插件界面语言。Follow Editor 跟随编辑器语言设置,Always English 强制英文。详见本地化。

AutoExposure Enable

分类取值范围默认值适用管线生效方式
LCC开启 / 关闭关闭通用需重启编辑器

是否启用自动曝光。默认关闭,因为自动曝光会让 3DGS 的亮度随视野内容波动。开启后画面亮度会随相机移动自动调整。

SceneCaptureComponent Support

分类取值范围默认值适用管线生效方式
LCC开启 / 关闭开启仅 LCC立即

是否支持 SceneCapture 渲染 LCC 内容。

开启后 SceneCapture 中能看到 3DGS,代价是每个 Capture 算作一个独立视角,会增加遍历开销。项目不使用 SceneCapture 时关闭可省下这部分成本。

SingleLayerWater Support

分类取值范围默认值适用管线生效方式
LCC开启 / 关闭关闭仅 LCC2需重启编辑器

3DGS 被单层水材质遮挡时启用。

开启后水面能正确显示 3DGS,代价是水面像素失去虚拟阴影贴图的阴影质量。该项会向项目的 DefaultEngine.ini 写入 r.Water.SingleLayer.DepthPrepass。详见单层水支持。

Splat Number For Discard Per Node

分类取值范围默认值适用管线生效方式
LCC任意正整数5仅 LCC重新加载数据

节点内点数低于此值时丢弃该节点的数据,在解析 index.bin 构建节点时判定。部分数据存在大量只含一两个点的碎节点,这些节点的调度开销远高于其渲染价值。

调大可减少节点总数、降低遍历与加载开销,代价是丢弃的点变多,稀疏区域可能出现缺失。

抗锯齿方法

分类取值范围默认值适用管线生效方式
AntiAliasing引擎支持的抗锯齿方法见下表通用立即

抗锯齿用于消除物体边缘的阶梯状锯齿。常规网格有明确的几何边缘,锯齿明显,需要抗锯齿处理;3DGS 由大量半透明 splat 叠加而成,边缘本身就是渐变的,锯齿并不明显。

四个设置分别对应两条管线的 3DGS 与点云模式,在启用 Actor 上的 bAffectAntiAliasingMethod 后由插件自动应用。

设置默认值适用
LCC1 Splat Anti-aliasing MethodFXAALCC 管线 3DGS 模式(无深度)
LCC2 Splat Anti-aliasing MethodTSRLCC2 管线 3DGS 模式(有深度)
LCC1 Point Cloud Anti-aliasing MethodMSAALCC 管线点云模式
LCC2 Point Cloud Anti-aliasing MethodTSRLCC2 管线点云模式

LCC 管线默认不用 TSR / TAA,是因为缺少深度信息时这两种方法在相机移动时会产生重影。

抗锯齿的 GPU 成本不低,TSR 尤其明显。场景中只有 3DGS、没有常规网格时,可以把对应设置改为 None 关闭抗锯齿,通常画质损失很小而帧率收益可观。场景中混有常规模型、UI 或线框时,关闭会让这些内容的边缘出现明显锯齿。

各方法的实际成本差异需用 ProfileGPU 在目标场景上实测,不同分辨率与硬件下差距较大。

注:两条管线的 Actor 同时存在于场景时,最终生效的方法取决于执行顺序,需手动配置为一致,详见画面调节。

Enable Post Process

分类取值范围默认值适用管线生效方式
Rendering开启 / 关闭开启通用立即

LCC 像素是否参与引擎后处理管线。

开启时 3DGS 与场景中常规物体一同接受色调映射、Bloom、曝光等后处理,观感统一;关闭时 3DGS 保持原始色彩,不受色调映射及其之后的环节影响。关闭需引擎开启 Alpha 通道输出。详见画面调节。

Apply Tonemap Inverse

分类取值范围默认值适用管线生效方式
Rendering开启 / 关闭关闭通用立即

是否在色彩空间转换时应用 FilmToneMapInverse。

开启后预先抵消引擎的色调映射,使最终画面还原数据原本的对比度与色彩;关闭则 3DGS 与常规物体走同一套色调映射。

Quad Extent Threshold

分类取值范围默认值适用管线生效方式
Rendering0.001 ~ 0.10.006仅 LCC2立即

控制 splat 四边形自高斯中心向外延展的距离。每个 splat 都要栅格化成一个四边形,四边形越大,被覆盖的像素越多。

调大使四边形更紧凑、overdraw 减少、像素填充成本下降,但可能裁掉半透明 splat 的边缘,表现为轮廓变硬或边缘缺失;调小则边缘更完整、填充成本上升。

Small Splat Threshold

分类取值范围默认值适用管线生效方式
Rendering0.0 ~ 4.00(关闭)仅 LCC2立即

屏幕尺寸小于此像素值的 splat 折叠为单个像素并跳过 SH 计算。

调大可跳过大量远处细小 splat 的着色计算,GPU 成本下降明显;代价是远景失去视角相关的颜色变化,可能出现颗粒感或轻微闪烁。

Frustum Cull Margin

分类取值范围默认值适用管线生效方式
Rendering1.0 ~ 2.01.2仅 LCC2立即

逐 splat 视锥裁剪的边距系数。

大于 1.0 时视锥向外扩展,避免屏幕边缘的 splat 在相机转动时突然弹出;值越大保留的边缘 splat 越多、成本略高。设为 1.0 则严格按视锥裁剪,边缘可能出现弹出感。

Max CPU Usage Percetage For Free

分类取值范围默认值适用管线生效方式
Usage50 ~ 10090通用立即

内存占用达到该比例时触发节点释放。

调低会更早开始释放,内存占用更保守,但换入换出更频繁;调高则占用更多内存,接近系统上限时有崩溃风险。

CPU Release Percetage

分类取值范围默认值适用管线生效方式
Usage10 ~ 10030通用立即

每次触发释放时清理的数据比例。

调大单次释放更多、触发次数更少,但被释放的数据需要重新加载,容易造成一次性卡顿。不建议设为 100。

Max GPU Usage Percetage For Free

分类取值范围默认值适用管线生效方式
Usage50 ~ 10080通用立即

显存占用达到该比例时触发释放。释放时按最后渲染时间、访问频率、数据大小与 Level 综合排序,优先释放最久未使用的节点,高 Level 节点受保护。

调低更安全:超出显卡可用显存后,驱动会把数据交换到系统内存,帧率下降比换入换出严重得多。

GPU Release Percetage

分类取值范围默认值适用管线生效方式
Usage10 ~ 10030通用立即

每次触发时释放的显存数据比例。判断依据同 CPU Release Percetage。

LCC2 GPU Memory Budget

分类取值范围默认值适用管线生效方式
Usage2048 ~ 81922048仅 LCC2需重启编辑器

单个模型 splat 数据的显存预算。排序 buffer 不计入该预算,每个视角的每个常驻 splat 额外占 16 字节。

调大可让更多数据同时常驻显存,减少换入换出导致的空洞与模糊;但预算只是插件申请的上限,超出显卡实际可用显存后反而更慢。单文件格式的可加载量在 4096 MB 时已达上限,继续调高无效。详见渲染。

Range For Level

分类取值范围默认值适用管线生效方式
Level固定 11 项浮点数组15, 50, 80, 110, 140, 170, 190, 220, 250, 280, 350仅 LCC立即

各 Level 对应的距离范围,单位米。第 N 项表示 Level N 生效的距离界限。

这是 LOD 的基准表,直接改动影响全部 LCC Actor。通常不直接改它,而是用 Actor 上的 Level Factor 做整体缩放。需要注意最大渲染距离与该表的关系:若最大距离小于某项数值,对应 Level 不会被使用。

Sort Frequency For Level

分类取值范围默认值适用管线生效方式
Level固定 11 项浮点数组5, 15, 25, 40, 50, 70, 90, 110, 130, 150, 170仅 LCC立即

各 Level 的排序频率。Level 越高、距离越远,重新排序的间隔越长。

整体调大可减少排序开销,代价是远处节点的半透顺序更新更滞后。通常用 Actor 上的 Sort Factor 做整体缩放而不直接改这张表。

注:LCC2 管线按屏幕空间误差选择 Level,不使用 Range For Level;其排序是统一 Buffer 内的逐 splat 全局排序,不使用 Sort Frequency For Level。

Default Traversal Type

分类取值范围默认值适用管线生效方式
TraversalSector / CircleSector通用需重启编辑器

节点遍历方式。Sector 按视锥筛选可见节点,Circle 按距离做圆形筛选。

Sector 只处理视野内的节点,成本更低,是推荐值;Circle 会把相机周围一圈的节点都算进来,成本更高,但相机快速转动时不会因为节点刚进入视锥而来不及加载。多视口或高速转动的场景可以试 Circle。

线程池设置

分类取值范围默认值适用管线生效方式
Loader / Traversal / Sort / Exporter见下表见下表仅 LCC需重启编辑器

这些线程池由 LCC 管线的加载、遍历、排序模块使用。LCC2 管线的数据加载走引擎自身的线程池,不受这些设置影响;例外是碰撞数据加载,两条管线共用 Loader 线程配置。

线程池在模块初始化时按配置创建,修改后需重启编辑器才生效。

四类线程各有「最大线程数」与「预创建线程数」两个设置:

设置取值范围默认值用途
Max Loader Thread Number5 ~ 10020数据加载
Pre-Create Loader Thread Number0 ~ 1005预创建加载线程
Max Traversal Thread Number5 ~ 10020节点遍历
Pre-Create Traversal Thread Number0 ~ 1005预创建遍历线程
Max Sort Thread Number5 ~ 10020排序
Pre-Create Sort Thread Number0 ~ 1005预创建排序线程
Max Exporter Thread Number5 ~ 10020数据导出,与运行时渲染无关
Pre-Create Exporter Thread Number0 ~ 1005预创建导出线程

线程数不是越多越好。瓶颈在磁盘 IO 时增加加载线程没有帮助,反而加剧争抢。只有在 stat xgrids 中看到对应线程的队列持续积压、且 CPU 有余量时才考虑上调。

预创建线程可避免运行时临时创建线程的开销,调大能减少场景刚开始加载时的延迟。

统计数据

通过控制台命令 stat xgrids 开启统计面板,或在 Actor 面板 Developer 分类点击 Stats。

stat xgrids 实时性能统计面板

使用 stat xgrids 查看实时性能统计

面板分三段:

分段列含义
Cycle counters (flat)CallCount、InclusiveAvg、InclusiveMax、ExclusiveAvg、ExclusiveMax耗时项。Inclusive 含子调用,Exclusive 只算自身
Memory CountersUsedMax、Mem%、MemPool、Pool Capacity内存与显存占用,Physical 表示物理内存池
CountersAverage、Max、Min数量项

Cycle counters(耗时项)

指标含义与用法
Update Collision碰撞数据的更新耗时。启用碰撞后才有数值;数值高说明碰撞正在频繁重建,应缩小碰撞加载距离
Update Camera Info每帧收集相机信息的耗时。视图数量越多这一项越高,可与 Camera Num 对照
Component Update组件每帧更新的耗时,属于 Game 线程成本。多个 LCC Actor 同场景时会累加
Get Physics Trimesh Data向物理系统提供碰撞三角网的耗时。物理烘焙期间才出现,是碰撞卡顿的直接来源
Get From Cache从缓存命中取数据的耗时。相对磁盘读取属于快路径,该项占比高反而是好现象

Memory Counters(内存与显存)

指标含义与用法
CPU UsageLCC 占用的系统内存。与 CPU Occupy Percentage 一起判断是否接近释放阈值
Collision Data Usage碰撞数据占用的内存。碰撞距离越大这一项越高,是关闭碰撞后最直接的收益项
Position Data(For Raycast) Usage供射线检测使用的位置数据内存。不做射线检测时为 0
GPU UsageLCC 占用的显存。口径与 GPU Occupy Percentage 不同

Counters(数量项)

指标含义与用法
Total Splats数据集点数总数,固定值
Level0 SplatsLevel 0 的点数,决定是否满足全量渲染条件
Current Render Main Splats当前帧渲染的主体点数。与 Max Splat Num 对照可判断是否触发了点数上限
Current Render Nodes当前帧渲染的节点数
Total Nodes数据集节点总数,固定值
Released GPU Node Num已从显存释放的节点数。持续增长说明正在频繁换入换出,通常意味着显存预算不足
Released CPU Node Num已从内存释放的节点数。判断依据同上
GPU Occupy Percentage显存占用百分比。接近 Max GPU Usage 阈值时即将触发释放
CPU Occupy Percentage内存占用百分比
Loader Thread Num加载线程数。队列积压且 CPU 有余量时才考虑提高上限
Pre-Loader Thread Num预加载线程数
Collision Loader Thread Num碰撞加载线程数
Sort Thread Num排序线程数
Traversal Thread Num遍历线程数
Exporter Thread Num导出线程数,与运行时渲染无关
Camera Num参与更新的相机数
Camera Num(Render)参与渲染的视图数,是判断 SceneCapture、分屏、nDisplay 开销的直接依据
Node Vector Pool Num节点向量池中的对象数,属于内部对象复用统计
Valid Node Num有效节点数,属于内部状态统计

调试工具

工具说明
Debug Node Bound可视化八叉树节点边界,颜色表示 Level(红为最高精度,白为最低)。用于确认 LOD 参数是否按预期生效
Stats显示实时渲染统计,等同于 stat xgrids
FreezeRendering冻结当前渲染状态。冻结后移动相机不再触发遍历,可用于检查当前帧实际提交了哪些节点
上一页
场景编辑
下一页
性能优化指南