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

    • PortalCam P1

      • 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
    • Lixel L3

      • Product Overview
      • Basic Device Functions
      • Device Activation and Connection
      • Data Capture
      • Capturing Absolute Coordinates
      • Appendix
  • Lixel Studio

    • Version and Copyright
    • Installation and Activation
    • Software Interface
    • File Operations
    • Project Processing
    • Tools
    • 2D Drawing
    • Applications
    • Settings
    • Device Connection
    • FAQ
  • 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
    • Best Practices

      • Merging Multiple Large 3DGS Models
    • 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
    • Unity

      • Unity SDK Introduction
      • Technical Features
      • Development Environment Requirements
      • PC Quick Start Guide
      • Project Settings Optimization Guide
      • Pico 4 Ultra Development Guide
      • Pico 4 Ultra PC Streaming Guide
      • Quest 3 Development Guide
      • Quest 3 PC Streaming Guide
      • OpenXR Development Guide
      • Pico 4 Ultra Business Streaming Guide
      • Glossary
      • FAQ
      • Contact Us
      • Feature Development Guide

        • Multi-Scene Mixed Rendering Development Guide
        • Shadow Receiving Development Guide
        • Real-Time Lighting Development Guide
        • Multi-Camera Rendering Development Guide
        • High-Resolution Image Rendering Development Guide
        • LCC and LCC2 Data Format Compatibility Development Guide
        • Loading Effect Development Guide
        • Mip Rendering Mode Switching Development Guide
        • Edge and Corner Snapping Development Guide
        • Projected Decal Development Guide
        • Video Projected Decal Development Guide
        • Highlight Development Guide
        • Real-Time Clipping Development Guide
        • Color Adjustment Development Guide
        • Getting Scene Mesh Data Development Guide
        • Editor Mode Development Guide
        • Render Performance Parameter Configuration Guide
        • Application and Data Co-packaging Development Guide
        • Collision System Development Guide
        • macOS Development Permission Issue Guide
        • iOS Device Compilation and Packaging Development Guide
      • API Reference

        • LCCManager
        • Renderer
        • Data Types
      • Changelog

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • 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
    • Lixel OpenAPI

      • Overview
      • Connection & Authentication
      • Message Model & Codec
      • Interface Catalog
      • Real-time Data
      • Project File Access
      • Error Codes
      • Python

        • Quick Start
        • Client Wrapper & Tools
        • FAQ
      • C++

        • Quick Start
        • Client & Examples
        • FAQ

Project Settings Optimization Guide

3DGS rendering is centered on GPU sorting and rendering and is a heavy resource consumer. The project's graphics pipeline, graphics API, camera and quality settings directly determine frame rate and video memory usage. Reasonable project configuration can significantly improve frame rate and reduce video memory usage. This document describes scene organization, as well as recommended settings for the graphics pipeline, graphics API, camera and quality. It uses Unity 6000.0 LTS with the URP render pipeline as an example.

Scene Object Organization

For the SingleRender mode, create an empty GameObject in the scene, set its Transform properties, attach a custom script, obtain the Renderer object in that script, and call the renderer.Load() method to load data.

For the MultiRender mode, you typically create the corresponding empty GameObjects dynamically, set their Transform properties via code, bind one empty GameObject per Renderer object, and independently control each object's renderer.Load() method to load data.

In all modes, each scene can independently set its Position, Rotation and Scale, allowing independent operation and control.

Platform and Pipeline Settings

Because 3DGS data is reconstructed and trained in the Gamma color space, setting Color Space to Gamma helps improve rendering quality; rendering in the Linear color space makes the scene slightly washed out.

For platforms with different performance levels, the SDK provides GPU sorting algorithms of different performance, supporting Direct3D12, Direct3D11, Vulkan and Metal. They have been validated on Intel HD Graphics 620, NVIDIA RTX 1x/2x/3x/4x series, AMD 7900X series and Apple M1/M2 series.

Graphics API priority

The recommended graphics API priority per platform is as follows. On Windows, prefer Direct3D12 to help improve frame rate.

PlatformGraphics API priority
WindowsDirect3D12 > Vulkan > Direct3D11
LinuxVulkan
macOSMetal

In the Unity menu bar, select File → Project Settings, select Player on the left side of the Project Settings window, switch to the tab of the target platform to publish to (Desktop for desktop; select Android if publishing to Android), expand the Other Settings section, and configure the graphics API per platform:

  • Windows: uncheck Auto Graphics API for Windows, set Graphics APIs to Direct3D12, Vulkan, Direct3D11, and remove the other graphics APIs;
  • macOS: uncheck Auto Graphics API for Mac, set Graphics APIs to Metal, and remove the other graphics APIs;
  • Linux: uncheck Auto Graphics API for Linux, set Graphics APIs to Vulkan, and remove the other graphics APIs.

Finally, set the Color Space to Gamma, as shown below:

Set the graphics API

Set the graphics API

Graphics settings recommendations (same for PC and mobile)

On the left side of the Project Settings window, select Graphics and check the Render Asset used by the current Default Render Pipeline, which is Mobile_RPAsset in this example, as shown below:

Check the Render Asset in use

Check the Render Asset in use

On the left side of the Project Settings window, select Quality and check the Render Asset used by the current Default Render Pipeline, which is Mobile_RPAsset in this example. Set Resolution Scaling Fixed DPI Factor = 0.7 and VSync Count = Don't Sync, as shown below:

Check the Quality settings

Check the Quality settings

Clicking the Render Asset used by the current Default Render Pipeline (Mobile_RPAsset in this example) locates that Asset in the Project window; select it and set the corresponding property toggles in the Inspector window.

For both PC and mobile, it is recommended to disable HDR, MSAA and similar modes to reduce bandwidth and video memory overhead:

  • Disable Depth Texture
  • Disable Opaque Texture
  • Disable HDR
  • Disable Anti Aliasing (MSAA)

You can also use URP's built-in super-resolution, i.e. set Render Scale = 0.7 and Upscaling Filter = Automatic, as shown below:

Disable HDR, Depth Texture, Opaque Texture and MSAA in the Render Pipeline Asset

Disable HDR, Depth Texture, Opaque Texture and Anti Aliasing (MSAA) in the Render Pipeline Asset

Mobile (URP) uses the same strategy as PC: also disable HDR, Depth Texture, Opaque Texture and MSAA, and enable super-resolution.

Find the matching Renderer of the Render Asset used by the platform's Default Render Pipeline, which is Mobile_Renderer (Universal Renderer Data) in this example, and set its related properties in the Inspector window, as shown below:

Set the Renderer

Set the Renderer

Camera Settings

Select the camera in the Hierarchy window (Main Camera by default), and set the Camera properties in the Inspector window:

PropertyRecommended valueDescription
Field of View60FOV
Clipping Planes → Near0.2 ~ 0.3Near clipping plane
Clipping Planes → Far5000 ~ 15000Far clipping plane, covering large scenes
Anti-aliasingNo Anti-aliasingAnti-aliasing disabled by default
Opaque TextureOffDisabled by default
Depth TextureOffDisabled by default
Background TypeSolid ColorSolid color recommended
BackgroundBlackBlack recommended as the default background color
HDR RenderingOffDisabled by default
MSAAOffDisabled by default

Other properties can be set as needed.

Set the camera Clipping Planes, Clear Flags and background color in the Inspector

Set the camera Clipping Planes, Clear Flags and background color in the Inspector