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

      • 入門
      • 版本與更新
      • 下載及安裝
      • 介面概覽及導覽
      • 重建前準備
      • 模型重建
      • 單模型重建
      • 地圖融合
      • 空地融合
      • 航拍重建
      • 我的模型
      • 其他功能
      • 設定與帳戶
      • 設置與賬號
      • Converter
      • 影片重建
      • 視頻重建
      • 常見問題
    • LCC Scene Editor

      • 版本與更新
      • 賬號與登錄
      • 產品概覽與主頁
      • 編輯器界面介紹
      • 三種場景漫游快捷操作
      • 文件
      • 設置
      • 編輯操作
      • 窗口
      • 全局工具欄
      • 資產與屬性
      • 左側工具欄
      • 視點
      • 跳轉點
      • 天空盒
      • 標注
      • 測量
      • 場景漫游
      • 場景報告
      • 智能戶型圖(3D Layout)
      • 小地圖
      • 預覽模式(Viewer)
      • 幫助
      • 常見問題 / FAQ
      • 出生點
    • LCC Model Editor

      • 版本與更新
      • 新手指引
      • 概覽與界面
      • 文件操作
      • 選擇器
      • 編輯操作
      • 測量
      • 調色
      • 資產管理
      • 設置與幫助
      • 常見問題 / FAQ
    • 採集指南

      • 概述
      • 採集設備總覽
      • 通用採集原則
      • 室內場景採集
      • 室外場景採集
      • 大場景採集(地圖融合)
      • 空地融合採集
      • 物體採集
      • 人物採集
      • 影片重建採集
      • 高清補拍
      • 控制點(靈視 P1)
      • 常見問題與排查
    • LCC Studio Linux

      • 產品概要說明
      • 基本架構說明書
      • 安裝部署說明書
      • 容器啟動參數說明書
      • CodeMeter離線授權部署說明書
      • API指令集說明書
      • 附錄-開發者數據說明書
      • 附錄-錯誤碼列表
      • 單機多卡集群部署QuickStart
    • 歷史版本
  • Plugin & SDK

    • Unreal

      • 介紹
      • 快速入門 - Windows
      • 快速入門 - Linux
      • 快速入門 - Quest3
      • 版本與授權
      • 渲染
      • Tiled 光柵化(實驗性)
      • 畫面調節
      • 法線與光照
      • 場景編輯
      • 性能參數說明
      • 性能優化指南
      • 第三方與引擎插件集成
      • 代理網格
      • 加載動畫
      • 碰撞
      • 尋路系統支持
      • 單層水支持
      • 本地化
      • 常見問題
      • 故障排查
      • 日誌與診斷
      • 聯繫我們
      • 最佳實踐

        • 用 LixelStudio 網格為 3DGS 重打光
      • API 參考

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

        • v3.4.0
        • 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
    • Web

      • 介紹
      • 渲染性能優化指南
      • 顯卡配置
      • 常見開發問題
      • API參考

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • 更新日誌

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

Tiled 光柵化:LCC2 的另一條光柵化路徑

LCC2 管線提供兩種光柵化方式,由 Actor 的 Rasterizer 屬性選擇:默認的 Pipeline 走引擎自身的渲染管線,Tiled 走插件自定義的分塊計算路徑。

Tiled 目前是實驗性功能,屬於專業版,需要註冊 App Key 後才會實際生效,詳見版本與授權。

它在多數高密度場景下能明顯提升幀率,但收益取決於畫面內容與瓶頸位置,部分場景可能提升有限,也可能沒有變化。開啟後需要按判斷是否有收益實測確認,不要默認它一定更快。

注:這裏的「分塊」指屏幕像素的分塊,與渲染裏按相機可見性加載節點的「分塊渲染」是兩件不同的事。前者決定數據進了顯存怎麼畫,後者決定數據怎麼進顯存。兩者互不影響,可以同時生效。

兩種光柵化方式的區別

Pipeline(默認)Tiled
光柵化交給引擎渲染管線,每個 splat 展開為四邊形後由引擎填充像素插件自定義計算分派,先把可見 splat 按屏幕塊歸併,再逐塊着色合成
排序全部可見 splat 做一次全局排序按屏幕塊分段排序,每段只排落在該塊內的 splat
成熟度長期默認路徑實驗性
授權免費版可用專業版

Tiled 的收益來自兩處:排序範圍從全局收窄到單個屏幕塊,以及像素只在真正覆蓋它的塊內被處理,減少了重疊區域的無效填充。

因此收益與畫面內容直接相關:splat 密度高、屏幕重疊嚴重時提升明顯;畫面稀疏、或幀率瓶頸本就不在排序與像素填充上時,改這一項不會有可觀察的變化。

畫面結果兩者一致,切換 Rasterizer 不需要改動其他參數,也不影響數據加載、LOD、裁剪框、光照與顏色相關的設置。

開啟方式

在 Actor 的 Details 面板 XGrids 分類下,把 Rasterizer 設為 Tiled。該屬性緊跟 Render Mode,僅在 Render Mode 為 3DGS 時顯示。

藍圖或 C++ 中調用 Setter:

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

讀取時有兩個方法,用途不同:

方法返回值
GetRasterizer()面板上存儲的選擇
GetEffectiveRasterizer()實際生效的光柵化方式,已計入授權判定

需要確認渲染路徑真的走了 Tiled 時用 GetEffectiveRasterizer()。

判斷是否有收益

因為收益不保證,切換後需要實測對比,方法與性能優化指南一致:

  1. 固定測試條件:同一視角或相機路徑、同一分辨率與 Screen Percentage,其餘參數保持不變。
  2. 先跑一遍預熱,避開首次 Shader 編譯與首次硬盤讀取。
  3. 用 stat unit 記錄 Pipeline 下的 GPU 幀時間作為基準。
  4. 只改 Rasterizer 一項,複測同一視角。
  5. 挑幾個代表性視角重複,特別是 splat 最密、重疊最嚴重的畫面。

GPU 幀時間沒有下降時,說明當前瓶頸不在這條路徑覆蓋的範圍內,保持 Pipeline 即可,繼續按優化指南定位真正的瓶頸。

適用範圍

項目說明
管線僅 LCC2 管線。ALCCActor(.lcc)沒有該屬性
格式.lcc2 / .sog / .spz / .ply 均可
渲染模式僅 3DGS 模式。點雲模式忽略該屬性,始終走 Pipeline
引擎與 RHI支持範圍與插件本身一致,D3D12 與 Vulkan 均可
多視角VR 立體渲染、nDisplay、分屏、SceneCapture 均支持

未授權時的行為

未註冊 App Key 時把 Rasterizer 設為 Tiled 不會報錯,也不會導致加載失敗,渲染路徑自動回退為 Pipeline。面板上存儲的選擇不會被改寫,註冊授權後無需重新設置即可生效。

判斷當前是否真的走了 Tiled,讀 GetEffectiveRasterizer() 的返回值:回退時它返回 Pipeline,而 GetRasterizer() 仍返回 Tiled。

注:打包發佈前確認授權有效,否則打包產物會按免費版行為走 Pipeline。

什麼情況下保持 Pipeline

  • 使用點雲渲染模式。該模式下屬性不起作用,不必設置。
  • 加載 .lcc 數據。LCC 管線沒有這條路徑。
  • 免費版項目。設為 Tiled 也會回退,保持默認更直觀。
  • 實測沒有幀時間改善。
  • 項目已進入交付驗證階段,不宜引入實驗性路徑。

Tiled 降低的是渲染階段的成本,不減少加載與遍歷的工作量。瓶頸在數據加載側時,應優先按性能優化指南處理加載與 LOD。

上一頁
渲染
下一頁
畫面調節