XGRIDSDocs
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • PortalCam

    • Product Overview
    • Basic Operation
    • Using the LCC Scan App
    • Maintenance and Care
    • FAQ
  • Lixel K Series

    • Lixel K1

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Map Fusion
      • Route Planning Suggestions for Typical Scenes
      • Precautions
      • FAQ
    • Lixel K2

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Map Fusion
      • Route Planning Suggestions for Typical Scenes
      • Precautions
      • FAQ
  • Lixel L Series

    • Lixel L2 Pro

      • Product Overview
      • Basic Operation
      • Device Activation and Connection
      • Scanning Workflow
      • Acquire Point Cloud Data with Absolute Coordinate
      • Measure Point
      • Appendix
      • FAQ
  • Accessories

    • Stick Light

      • Installation Guide
      • Basic Operation
      • FAQ
  • Lixel Studio

    • Version and Copyright
    • Installation and Activation
    • Software Interface
    • File Operations
    • Project Processing
    • Tools
    • 2D Drawing
    • Applications
    • Settings
    • Device Connection
  • Lixel CyberColor

    • LCC Studio

      • Getting Started
      • Version and Updates
      • Download and Installation
      • Interface Overview and Navigation
      • Before Reconstruction
      • Model Reconstruction
      • Single Model Reconstruction
      • Map Fusion
      • Aerial-Ground Fusion
      • Aerial Reconstruction
      • My Models
      • Other Features
      • Settings and Account
      • Converter
      • Video Reconstruction
      • FAQ
    • LCC Scene Editor

      • Version & Updates
      • Account & Login
      • Product Overview & Home
      • Editor Interface
      • Scene Navigation Modes
      • File
      • Settings
      • Edit Operations
      • Window
      • Global Toolbar
      • Assets & Properties
      • Left Toolbar
      • Viewpoints
      • Portal
      • Skybox
      • Annotations
      • Measurement
      • Flythrough
      • Scene Report
      • 3D Layout
      • Mini-Map
      • Preview Mode (Viewer)
      • Help
      • FAQ
      • Spawn Point
    • LCC Model Editor

      • Version and Updates
      • User Guide
      • Overview and Interface
      • File Operations
      • Selectors
      • Editing Models
      • Measurement
      • Color Grading
      • Asset Management
      • Settings and Help
      • FAQ
    • Capture Guide

      • Overview
      • Capture Devices Overview
      • General Capture Principles
      • Indoor Scene Capture
      • Outdoor Scene Capture
      • Large-Scale Capture (Map Fusion)
      • Aerial-Ground Map Fusion Capture
      • Object Capture
      • People Capture
      • Video Reconstruction Capture
      • HD Enhancement
      • Control Points (Lixel P1)
      • FAQ and Troubleshooting
    • LCC Studio Linux

      • Product Overview
      • Architecture Guide
      • Installation and Deployment Guide
      • Container Startup Parameters Guide
      • CodeMeter Offline Licensing Deployment Guide
      • API Reference
      • Appendix - Developer Data Guide
      • Appendix - Error Code List
      • Single-Machine Multi-GPU Cluster Deployment QuickStart
    • Version History
  • Plugin & SDK

    • Unreal

      • Introduction
      • Quick Start - Windows
      • Quick Start - Linux
      • Quick Start - Quest3
      • Editions and Licensing
      • Rendering
      • Tiled Rasterization (Experimental)
      • Visual Settings
      • Normals and Lighting
      • Scene Editing
      • Performance Parameters
      • Performance Guide
      • Third-party and Engine Plugin Integration
      • Proxy Mesh
      • Loading Animation
      • Collision
      • Navigation System Support
      • Single Layer Water Support
      • Localization
      • FAQ
      • Troubleshooting
      • Logging and Diagnostics
      • Contact Us
      • Best Practices

        • Relighting 3DGS with a LixelStudio Mesh
      • API Reference

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG / SPZ / PLY Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Changelog

        • 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

      • Introduction
      • Rendering Performance Optimization Guide
      • Graphics Configuration
      • FAQ
      • API Reference

        • 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
      • Changelog

        • 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 Rasterization: the Other Rasterization Path of LCC2

The LCC2 pipeline offers two rasterization methods, selected by the Rasterizer property on the Actor: the default Pipeline uses the engine's own rendering pipeline, while Tiled uses a tile-based compute path implemented by the plugin.

Tiled is currently experimental and belongs to the Pro edition. It only takes effect after an App Key is registered, see Editions and Licensing.

It raises the frame rate noticeably in most dense scenes, but the gain depends on the image content and on where the bottleneck is. In some scenes the gain is small, and in others there is no change at all. After enabling it, confirm the result by measuring, as described in Deciding whether it helps. Do not assume it is always faster.

Note: "tile" here refers to tiles of screen pixels, which is a different thing from the "chunked rendering" in Rendering that loads nodes by camera visibility. The former decides how data already in video memory is drawn, the latter decides how data enters video memory. They are independent and can be active at the same time.

Differences Between the Two Rasterization Methods

Pipeline (default)Tiled
RasterizationHanded to the engine rendering pipeline; each splat is expanded into a quad and the engine fills the pixelsCustom compute dispatch by the plugin; visible splats are first binned into screen tiles, then shaded and composited tile by tile
SortingOne global sort over all visible splatsSegmented sort per screen tile; each segment only sorts the splats that fall into that tile
MaturityThe long-standing default pathExperimental
LicensingAvailable in the free editionPro edition

The gain comes from two places: the sorting range narrows from global to a single screen tile, and pixels are only processed in the tiles that actually cover them, which cuts wasted fill in overlapping areas.

The gain is therefore tied to the image content: it is clear when splat density is high and screen overlap is heavy, and there is no observable change when the image is sparse or when the frame rate bottleneck is not in sorting and pixel fill to begin with.

The visual result is identical either way. Switching Rasterizer requires no other parameter changes and does not affect data loading, LOD, clipping volumes, lighting, or color settings.

How to Enable It

In the XGrids category of the Actor Details panel, set Rasterizer to Tiled. The property sits right after Render Mode and only appears when Render Mode is 3DGS.

Call the setter from Blueprint or C++:

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

There are two getters, with different purposes:

MethodReturns
GetRasterizer()The choice stored on the panel
GetEffectiveRasterizer()The rasterization actually in effect, with the license gate applied

Use GetEffectiveRasterizer() to confirm the render path really goes through Tiled.

Deciding Whether It Helps

Because the gain is not guaranteed, measure before and after switching. The method matches the Performance Guide:

  1. Fix the test conditions: the same view or camera path, the same resolution and Screen Percentage, every other parameter unchanged.
  2. Run a warm-up pass first to keep the initial shader compilation and first disk read out of the numbers.
  3. Record the GPU frame time under Pipeline with stat unit as the baseline.
  4. Change only Rasterizer and measure the same view again.
  5. Repeat across a few representative views, especially the images with the densest splats and the heaviest overlap.

If the GPU frame time does not drop, the current bottleneck is outside what this path covers. Keep Pipeline and go on locating the real bottleneck with the performance guide.

Scope

ItemNotes
PipelineLCC2 pipeline only. ALCCActor (.lcc) does not have this property
Formats.lcc2 / .sog / .spz / .ply all work
Render mode3DGS mode only. Point cloud mode ignores the property and always uses Pipeline
Engine and RHIThe same support range as the plugin itself; both D3D12 and Vulkan work
Multiple viewsVR stereo rendering, nDisplay, split screen, and SceneCapture are all supported

Behavior Without a License

Setting Rasterizer to Tiled without a registered App Key does not raise an error or cause a load failure. The render path falls back to Pipeline automatically. The choice stored on the panel is never overwritten, so it takes effect once the license is registered, with no need to set it again.

To tell whether Tiled is really in use, read the return value of GetEffectiveRasterizer(): on fallback it returns Pipeline, while GetRasterizer() still returns Tiled.

Note: confirm the license is valid before packaging for release, otherwise the packaged output follows free edition behavior and uses Pipeline.

When to Keep Pipeline

  • Point cloud render mode is in use. The property has no effect there, so there is nothing to set.
  • .lcc data is loaded. The LCC pipeline does not have this path.
  • Free edition projects. Setting Tiled falls back anyway, so the default is clearer.
  • Measurement shows no improvement in frame time.
  • The project has entered delivery validation, where an experimental path is best avoided.

Tiled lowers the cost of the rendering stage; it does not reduce the loading and traversal work. When the bottleneck is on the data loading side, handle loading and LOD first with the Performance Guide.

Prev
Rendering
Next
Visual Settings