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

    • Produktübersicht
    • Grundlegende Bedienung
    • LCC Scan App verwenden
    • Wartung und Pflege
    • FAQ
  • Lixel K-Serie

    • Lixel K1

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
    • Lixel K2

      • Produktübersicht
      • Grundlegende Bedienung
      • Aktivierung und Verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
  • Lixel L-Serie

    • Lixel L2 Pro

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Messpunkt
      • Anhang
      • FAQ
  • Zubehör

    • Stick Light

      • Installationsanleitung
      • Grundlegende Bedienung
      • Häufige Fragen
  • Lixel Studio

    • Version und Copyright
    • Installation und Aktivierung
    • Softwareoberfläche
    • Dateioperationen
    • Projektverarbeitung
    • Werkzeuge
    • 2D-Zeichnung
    • Anwendungen
    • Einstellungen
    • Geräteverbindung
  • Lixel CyberColor

    • LCC Studio

      • Erste Schritte
      • Version und Updates
      • Download und Installation
      • Oberfläche und Navigation
      • Vor der Rekonstruktion
      • Modellrekonstruktion
      • Einzelmodell-Rekonstruktion
      • Kartenfusion
      • Boden-Luft-Fusion
      • Luftbild-Rekonstruktion
      • Meine Modelle
      • Weitere Funktionen
      • Einstellungen und Konto
      • Converter
      • Videorekonstruktion
      • Häufige Fragen / FAQ
    • LCC Scene Editor

      • Version und Updates
      • Konto und Anmeldung
      • Produktübersicht und Startseite
      • Editor-Oberfläche
      • Navigationsmodi
      • Datei
      • Einstellungen
      • Bearbeiten
      • Fenster
      • Globale Symbolleiste
      • Assets und Eigenschaften
      • Linke Symbolleiste
      • Ansichtspunkte
      • Portal
      • Skybox
      • Markierungen
      • Messung
      • Flythrough
      • Szenenbericht
      • 3D-Layout
      • Minikarte
      • Vorschaumodus (Viewer)
      • Hilfe
      • Häufige Fragen (FAQ)
      • Spawn-Point
    • LCC Model Editor

      • Version und Updates
      • Benutzerhandbuch
      • Übersicht und Oberfläche
      • Dateioperationen
      • Selektoren
      • Modelle bearbeiten
      • Messung
      • Farbkorrektur
      • Asset-Verwaltung
      • Einstellungen und Hilfe
      • Häufige Fragen
    • Capture Guide

      • Überblick
      • Überblick über die Aufnahmegeräte
      • Allgemeine Aufnahmeprinzipien
      • Aufnahme von Innenszenen
      • Aufnahme von Außenszenen
      • Großflächige Aufnahme (Map Fusion)
      • Aerial-Ground Map Fusion – Aufnahme
      • Objektaufnahme
      • Personenaufnahme
      • Video-Rekonstruktionsaufnahme
      • HD Enhancement
      • Kontrollpunkte (Lixel P1)
      • FAQ und Fehlerbehebung
    • Versionsgeschichte
  • Plugin & SDK

    • Unreal

      • Einführung
      • Schnellstart - Windows
      • Schnellstart - Linux
      • Schnellstart - Quest3
      • Editionen und Lizenzierung
      • Rendering
      • Tiled-Rasterisierung (experimentell)
      • Bildeinstellungen
      • Normalen und Beleuchtung
      • Szenenbearbeitung
      • Leistungsparameter
      • Leitfaden zur Leistung
      • Integration von Drittanbieter- und Engine-Plugins
      • Proxy Mesh
      • Ladeanimation
      • Kollision
      • Unterstützung des Navigation System
      • Unterstützung von Single Layer Water
      • Lokalisierung
      • FAQ
      • Fehlerbehebung
      • Logs und Diagnose
      • Kontakt
      • Bewährte Vorgehensweisen

        • 3DGS mit einem LixelStudio-Mesh neu beleuchten
      • API-Referenz

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

        • 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

      • Einführung
      • Leitfaden zur Rendering-Leistungsoptimierung
      • Grafikkonfiguration
      • Häufige Fragen
      • API-Referenz

        • 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
      • Änderungsprotokoll

        • 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-Rasterisierung: der andere Rasterisierungspfad von LCC2

Die LCC2-Pipeline bietet zwei Rasterisierungsverfahren, die über die Eigenschaft Rasterizer am Actor gewählt werden: Das standardmäßige Pipeline nutzt die Rendering-Pipeline der Engine selbst, während Tiled einen vom Plugin umgesetzten, tile-basierten Compute-Pfad nutzt.

Tiled ist derzeit experimentell und gehört zur Pro Edition. Es wird erst wirksam, nachdem ein App Key registriert ist, siehe Editionen und Lizenzierung.

In den meisten dichten Szenen hebt es die Bildrate deutlich, aber der Gewinn hängt vom Bildinhalt und davon ab, wo der Engpass liegt. In manchen Szenen ist der Gewinn klein, in anderen gibt es überhaupt keine Änderung. Nach dem Aktivieren das Ergebnis durch Messen bestätigen, wie in Beurteilen, ob es hilft beschrieben. Nicht davon ausgehen, dass es immer schneller ist.

Hinweis: „Tile“ meint hier Tiles aus Bildschirmpixeln, was etwas anderes ist als das „Chunk-Rendering“ in Rendering, das Nodes nach Kamerasichtbarkeit lädt. Ersteres entscheidet, wie bereits im Grafikspeicher liegende Daten gezeichnet werden, Letzteres entscheidet, wie Daten in den Grafikspeicher gelangen. Beide sind unabhängig und können gleichzeitig aktiv sein.

Unterschiede zwischen den beiden Rasterisierungsverfahren

Pipeline (Standard)Tiled
RasterisierungAn die Rendering-Pipeline der Engine übergeben; jeder Splat wird zu einem Quad aufgespannt und die Engine füllt die PixelEigener Compute-Dispatch des Plugins; sichtbare Splats werden zuerst in Bildschirm-Tiles einsortiert, dann Tile für Tile geshadet und komponiert
SortierungEine globale Sortierung über alle sichtbaren SplatsSegmentierte Sortierung je Bildschirm-Tile; jedes Segment sortiert nur die Splats, die in dieses Tile fallen
ReifegradDer langjährige StandardpfadExperimentell
LizenzierungIn der kostenlosen Edition verfügbarPro Edition

Der Gewinn kommt von zwei Stellen: Der Sortierbereich verengt sich von global auf ein einzelnes Bildschirm-Tile, und Pixel werden nur in den Tiles verarbeitet, die sie tatsächlich bedecken, was verschwendete Füllarbeit in überlappenden Bereichen einspart.

Der Gewinn ist daher an den Bildinhalt gebunden: Er ist deutlich, wenn die Splat-Dichte hoch und die Überlappung auf dem Bildschirm stark ist, und es gibt keine beobachtbare Änderung, wenn das Bild dünn besetzt ist oder der Engpass der Bildrate von Anfang an nicht bei Sortierung und Pixel-Füllung liegt.

Das visuelle Ergebnis ist in beiden Fällen identisch. Ein Wechsel von Rasterizer erfordert keine weiteren Parameteränderungen und beeinflusst weder das Laden der Daten noch LOD, Clipping-Volumen, Beleuchtung oder Farbeinstellungen.

Aktivieren

In der Kategorie XGrids des Details-Panels des Actors Rasterizer auf Tiled setzen. Die Eigenschaft liegt direkt hinter Render Mode und erscheint nur, wenn Render Mode auf 3DGS steht.

Den Setter aus Blueprint oder C++ aufrufen:

LCC2Component->SetRasterizer(ELCC2Rasterizer::Tiled);

Es gibt zwei Getter mit unterschiedlichem Zweck:

MethodeRückgabewert
GetRasterizer()Die im Panel gespeicherte Wahl
GetEffectiveRasterizer()Die tatsächlich wirksame Rasterisierung, mit angewendeter Lizenzprüfung

GetEffectiveRasterizer() nutzen, um zu bestätigen, dass der Render-Pfad wirklich über Tiled läuft.

Beurteilen, ob es hilft

Weil der Gewinn nicht garantiert ist, vor und nach dem Wechsel messen. Das Verfahren entspricht dem Leitfaden zur Leistung:

  1. Die Testbedingungen festlegen: dieselbe Ansicht oder derselbe Kamerapfad, dieselbe Auflösung und dasselbe Screen Percentage, jeder andere Parameter unverändert.
  2. Zuerst einen Aufwärmdurchgang laufen lassen, damit die erste Shader-Kompilierung und der erste Datenträgerzugriff nicht in die Zahlen einfließen.
  3. Die GPU-Bildzeit unter Pipeline mit stat unit als Basiswert festhalten.
  4. Nur Rasterizer ändern und dieselbe Ansicht erneut messen.
  5. Über einige repräsentative Ansichten hinweg wiederholen, besonders bei den Bildern mit den dichtesten Splats und der stärksten Überlappung.

Wenn die GPU-Bildzeit nicht sinkt, liegt der aktuelle Engpass außerhalb dessen, was dieser Pfad abdeckt. Dann Pipeline behalten und den eigentlichen Engpass mit dem Leitfaden zur Leistung weiter eingrenzen.

Geltungsbereich

PunktHinweise
PipelineNur die LCC2-Pipeline. ALCCActor (.lcc) hat diese Eigenschaft nicht
Formate.lcc2 / .sog / .spz / .ply funktionieren alle
Rendering-ModusNur der 3DGS-Modus. Der Punktwolkenmodus ignoriert die Eigenschaft und nutzt immer Pipeline
Engine und RHIDerselbe Unterstützungsumfang wie beim Plugin selbst; D3D12 und Vulkan funktionieren beide
Mehrere AnsichtenVR-Stereo-Rendering, nDisplay, Splitscreen und SceneCapture werden alle unterstützt

Verhalten ohne Lizenz

Rasterizer ohne registrierten App Key auf Tiled zu setzen, führt nicht zu einer Fehlermeldung oder zu einem Ladefehler. Der Render-Pfad fällt automatisch auf Pipeline zurück. Die im Panel gespeicherte Wahl wird nie überschrieben, sie wird also wirksam, sobald die Lizenz registriert ist, und muss nicht erneut gesetzt werden.

Um zu erkennen, ob Tiled wirklich genutzt wird, den Rückgabewert von GetEffectiveRasterizer() lesen: Beim Rückfall gibt er Pipeline zurück, während GetRasterizer() weiterhin Tiled zurückgibt.

Hinweis: Vor der Paketierung für eine Veröffentlichung prüfen, ob die Lizenz gültig ist, sonst folgt die Paketausgabe dem Verhalten der kostenlosen Edition und nutzt Pipeline.

Wann Pipeline beibehalten wird

  • Der Punktwolken-Rendering-Modus ist im Einsatz. Die Eigenschaft hat dort keine Wirkung, es gibt also nichts zu setzen.
  • .lcc-Daten sind geladen. Die LCC-Pipeline hat diesen Pfad nicht.
  • Projekte der kostenlosen Edition. Tiled fällt ohnehin zurück, der Standardwert ist daher klarer.
  • Die Messung zeigt keine Verbesserung der Bildzeit.
  • Das Projekt ist in die Abnahmeprüfung eingetreten, wo ein experimenteller Pfad besser vermieden wird.

Tiled senkt die Kosten der Rendering-Stufe; es reduziert die Arbeit für Laden und Traversierung nicht. Liegt der Engpass auf der Seite des Datenladens, zuerst Laden und LOD mit dem Leitfaden zur Leistung angehen.

Zurück
Rendering
Weiter
Bildeinstellungen