Die 3DGS-Leistungsparameter im Einzelnen
Dieses Dokument beschreibt, was jeder Parameter bewirkt, welche Werte er annimmt und welches Ergebnis eine Änderung tatsächlich hat, um die Bedeutung eines einzelnen Parameters nachzuschlagen. Zum schrittweisen Ablauf, einen Engpass zu finden und zu optimieren, siehe Leitfaden zur Leistung.
Die Tabelle unter jeder Parameter-Überschrift nennt die Gruppe, zu der er gehört, seinen Bereich, seinen Standardwert, die Pipeline, für die er gilt, und wie er wirksam wird. Steht als Pipeline „LCC“ oder „LCC2“, wirkt der Parameter nur in dieser Pipeline; mit „Gemeinsam“ markierte Parameter wirken in beiden. Zum Begriff der Pipeline siehe Einführung.
Parameter des Actor-Panels
Diese liegen im Details-Panel des Actors unter der Kategorie Performance und sind nach Geltungsbereich gruppiert:
- Gruppe Base: beiden Pipelines gemeinsam, an jedem LCC-Actor vorhanden
- Pipeline-spezifische Gruppe: nur an Actors der passenden Pipeline sichtbar, wobei die Gruppe nach der Pipeline benannt ist. In der aktuellen Version hat nur die LCC-Pipeline eine eigene Gruppe (mit dem Namen LCC), LCC2-Actors zeigen nur die Gruppe Base

Gruppe Base: Leistungsparameter, die beiden Pipelines gemeinsam sind

Gruppe LCC: nur an Actors der LCC-Pipeline sichtbar
Hinweis: Jeder Parameter unter der Kategorie Performance hat links ein Kontrollkästchen. Solange das Kästchen nicht angehakt ist, nutzt der Parameter den eingebauten Standardwert des Plugins und der eingegebene Wert hat keine Wirkung. Wenn eine Anpassung nichts bewirkt, zuerst prüfen, ob das Kästchen angehakt ist.
Max Distance
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | Beliebige positive Ganzzahl | 300 | Gemeinsam | Sofort |
Maximale Renderdistanz in Metern. Nodes jenseits dieser Distanz werden weder gerendert noch geladen. Das ist der Parameter mit dem unmittelbarsten Nutzen: Ein niedrigerer Wert senkt gleichzeitig die Kosten für Traversierung, Laden, Upload und Rendering.
Ein niedrigerer Wert hebt die Bildrate deutlich und senkt Arbeits- und Grafikspeicherbedarf, um den Preis, dass ferner Inhalt verschwindet und an der Grenze eine deutliche Abbruchkante entsteht. Zusammen mit Range For Level lesen: Ist die maximale Distanz kleiner als die Distanz eines Levels, werden dieses Level und alle ferneren nie genutzt.
Max Splat Num
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | 0 ~ 10000 (Einheit: 10.000) | 3000 | Gemeinsam | Sofort |
Maximale Anzahl der pro Bild gerenderten Punkte. Nach der Traversierung werden Nodes von fern nach nah verworfen, bis die Gesamtzahl der Punkte innerhalb dieser Grenze liegt. Es ist eine harte Schranke: Unabhängig davon, wie viel Inhalt die Ansicht enthält, überschreitet die pro Bild gerenderte Menge diesen Wert nie.
Ein niedrigerer Wert deckelt die Last und verhindert Einbrüche der Bildrate in offenen Ansichten, um den Preis, dass ferne Nodes verworfen werden, sodass beim Drehen der Ansicht fehlender Hintergrund auftreten kann. Zu große Werte werden automatisch auf die in einem Bild tatsächlich renderbare Menge begrenzt.
Level Factor
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | 0.01 ~ 20 | 1 | Gemeinsam | Sofort |
Skalierungsfaktor für die Level-Auswahl, der steuert, „ab welcher Entfernung die Genauigkeit zu sinken beginnt“. Die beiden Pipelines setzen ihn unterschiedlich um: Die LCC-Pipeline skaliert damit die globale Distanztabelle Range For Level, die LCC2-Pipeline skaliert damit den Schwellwert des Screen-Space-Fehlers, mit gleicher Wirkungsrichtung.
Über 1 wechselt er früher auf Levels mit geringerer Genauigkeit, was Details reduziert und die Leistung verbessert; unter 1 senkt er die Genauigkeit später, was ein schärferes Bild zu höheren Kosten ergibt. Bei 1 belassen und nur unter echtem Leistungsdruck in kleinen Schritten erhöhen.
Start Level
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | 0 ~ 20 | 0 | Gemeinsam | Sofort |
Start-Level, das die höchste nutzbare Genauigkeit begrenzt. Der Standardwert 0 erlaubt das Level mit der höchsten Genauigkeit.
Bei 1 oder höher wird das feinste Level auch in der Nähe nie geladen, naher Inhalt wird also unschärfer, während geladene Menge und Grafikspeicherbedarf deutlich sinken. Auf schwächeren Geräten oder mobil eine Erhöhung erwägen.
End Level
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | 0 ~ 20 | 20 | Gemeinsam | Sofort |
End-Level, das das gröbste nutzbare Level begrenzt. Der Standardwert 20 setzt keine Grenze, das gröbste in den Daten vorhandene Level kann also genutzt werden.
Ein niedrigerer Wert verhindert, dass gröbere Levels der Daten genutzt werden, ferner Inhalt kann daher nur auf End Level bleiben. Im Bild entstehen keine Lücken, es werden aber mehr Punkte als nötig gerendert und die Leistung sinkt dadurch. Der Parameter ist also kein Weg zur Beschleunigung und bleibt normalerweise beim Standardwert 20.
Max Load Collision Distance
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | Beliebige positive Ganzzahl | 300 | Gemeinsam | Sofort |
Maximale Ladedistanz für Kollisionsdaten in Metern. Wirkt nur, sobald Kollision aktiviert ist.
Beide Pipelines laden Kollisionsdaten in Chunks: Es werden nur die Kollisions-Chunks innerhalb dieser Distanz um die Kamera geladen, und sie werden mit der Kamerabewegung dynamisch ein- und ausgelagert. Dieser Wert bestimmt daher, wie viele Kollisionsdaten zu jedem Zeitpunkt resident sind.
Ein niedrigerer Wert senkt unmittelbar den Arbeitsspeicherbedarf bei Collision Data Usage und die Zeit bei Update Collision, um den Preis, dass in der Ferne keine Kollision vorhanden ist.
Bei Verwendung mit dem Navigation System muss er meist erhöht werden, damit die Kollision des Zielbereichs in einem Durchgang vollständig lädt. Andernfalls wird die Kollision zur Laufzeit mit der Kamerabewegung fortlaufend aktualisiert, was ständig Neuaufbauten der Navigationsdaten auslöst und deutliches Ruckeln verursacht. Siehe Unterstützung des Navigation System.
Use Full Load
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | Aktiviert / Deaktiviert | Aktiviert | Gemeinsam | Daten neu laden |
Ob Rendering mit vollständigem Laden erlaubt ist. Aktiviert wird, sofern die Punktzahl auf Level 0 Full Load Splat Number nicht überschreitet, der gesamte Datensatz auf einmal geladen und bleibt im Grafikspeicher resident, wobei Traversierung und Upload pro Bild entfallen; andernfalls fällt es auf bedarfsgesteuertes Laden zurück.
Die Aktivierung ergibt in kleinen Szenen eine stabilere Bildrate ohne Node-Ränder und ohne Detail-Popping, um den Preis, dass der gesamte Datensatz im Grafikspeicher resident bleibt. Deaktiviert wird immer bedarfsgesteuert geladen.
Das Verhalten des Grafikspeichers nach der Deaktivierung unterscheidet sich zwischen den Pipelines:
- Die LCC-Pipeline belegt Grafikspeicher je Node, der Bedarf ändert sich also mit dem sichtbaren Bereich
- Die LCC2-Pipeline belegt ihren Grafikspeicher-Buffer nach Budget vorab, der Bedarf ändert sich also nicht mit dem sichtbaren Bereich; es ändert sich nur die tatsächlich in den Buffer gefüllte Datenmenge
Siehe Rendering.
Full Load Splat Number
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Base | Beliebige positive Ganzzahl (Einheit: 10.000) | 1500 | Gemeinsam | Daten neu laden |
Obergrenze der Punktzahl auf Level 0, die Rendering mit vollständigem Laden erlaubt.
Ein höherer Wert lässt größere Szenen vollständiges Laden nutzen, daher prüfen, dass der Grafikspeicher ausreicht. Ein niedrigerer Wert lässt mehr Szenen auf bedarfsgesteuertes Laden zurückfallen.
Sort Factor
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | 0.2 ~ 5 | 1 | Nur LCC | Sofort |
Skalierungsfaktor für die Sortierfrequenz. Er gilt für die globale Tabelle Sort Frequency For Level und steuert, wie oft die Nodes jedes Levels neu sortiert werden.
Ein höherer Wert senkt die Anzahl der Sortierungen und verbessert die Leistung, aber die Überlappungsreihenfolge transluzenter Objekte aktualisiert sich bei Änderung der Ansicht später, was kurzzeitige Durchdringungsfehler verursachen kann. Ein niedrigerer Wert sortiert zeitnäher zu höheren Kosten. Bei 1 belassen.
Add Extra Preload Nodes
| Gruppe | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | Aktiviert / Deaktiviert | Aktiviert | Nur LCC | Sofort |
Ob der Ladewarteschlange zusätzliche Vorlade-Nodes angehängt werden. Aktiviert werden einige Nodes außerhalb des Frustum-Rands vorgeladen.
Die Aktivierung mildert Löcher am Bildschirmrand beim schnellen Drehen der Ansicht, um den Preis von mehr zu rendernden Nodes. Deaktiviert sinkt die Anzahl der Nodes, aber Lücken am Rand treten beim schnellen Drehen eher auf.
Globale Konfiguration in den ProjectSettings
Diese liegen unter ProjectSettings > Plugins > LCC4Unreal. Sie gelten für jeden LCC-Actor in der Szene und lassen sich nicht je Actor konfigurieren.

Die globalen Parameter von LCC4Unreal in den ProjectSettings konfigurieren
Language
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| General | Follow Editor / Always English | Follow Editor | Gemeinsam | Sofort |
Sprache der Plugin-Oberfläche. Follow Editor folgt der Spracheinstellung des Editors, Always English erzwingt Englisch. Siehe Lokalisierung.
AutoExposure Enable
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | Aktiviert / Deaktiviert | Deaktiviert | Gemeinsam | Erfordert einen Editor-Neustart |
Ob die automatische Belichtung aktiv ist. Standardmäßig deaktiviert, weil die automatische Belichtung die 3DGS-Helligkeit mit dem sichtbaren Inhalt schwanken lässt. Aktiviert passt sich die Bildhelligkeit bei Kamerabewegung automatisch an.
SceneCaptureComponent Support
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | Aktiviert / Deaktiviert | Aktiviert | Nur LCC | Sofort |
Ob SceneCapture LCC-Inhalt rendern kann.
Die Aktivierung macht 3DGS in SceneCapture sichtbar, um den Preis, dass jedes Capture als eigene Ansicht zählt, was die Traversierungskosten erhöht. In Projekten ohne SceneCapture deaktivieren, um diese Kosten zu sparen.
SingleLayerWater Support
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | Aktiviert / Deaktiviert | Deaktiviert | Nur LCC2 | Erfordert einen Editor-Neustart |
Aktivieren, wenn 3DGS von einem Single-Layer-Water-Material verdeckt wird.
Die Aktivierung lässt 3DGS auf der Wasseroberfläche korrekt darstellen, um den Preis, dass Wasserpixel Schattenqualität der Virtual Shadow Map verlieren. Diese Option schreibt r.Water.SingleLayer.DepthPrepass in die DefaultEngine.ini des Projekts. Siehe Unterstützung von Single Layer Water.
Splat Number For Discard Per Node
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| LCC | Beliebige positive Ganzzahl | 5 | Nur LCC | Daten neu laden |
Verwirft die Daten eines Nodes, wenn seine Punktzahl unter diesem Wert liegt; die Entscheidung fällt beim Auswerten von index.bin und dem Aufbau der Nodes. Manche Datensätze enthalten viele Fragment-Nodes mit nur ein oder zwei Punkten, und die Scheduling-Kosten dieser Nodes übersteigen ihren Renderwert deutlich.
Ein höherer Wert senkt die Gesamtzahl der Nodes und die Kosten für Traversierung und Laden, um den Preis von mehr verworfenen Punkten, sodass dünn besetzte Bereiche Lücken zeigen können.
Anti-aliasing Methods
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| AntiAliasing | Von der Engine unterstützte Antialiasing-Methoden | Siehe Tabelle unten | Gemeinsam | Sofort |
Antialiasing entfernt die Treppenstufen an Objektkanten. Reguläre Meshes haben klar definierte geometrische Kanten, an denen Aliasing deutlich sichtbar ist und Antialiasing nötig macht; 3DGS besteht aus vielen übereinandergelegten halbtransparenten Splats, seine Kanten sind daher bereits Übergänge und Aliasing ist kaum sichtbar.
Die vier Einstellungen entsprechen dem 3DGS- und dem Punktwolkenmodus jeder Pipeline, und das Plugin wendet sie automatisch an, sobald bAffectAntiAliasingMethod am Actor aktiviert ist.
| Einstellung | Standard | Gilt für |
|---|---|---|
| LCC1 Splat Anti-aliasing Method | FXAA | 3DGS-Modus der LCC-Pipeline (ohne Tiefe) |
| LCC2 Splat Anti-aliasing Method | TSR | 3DGS-Modus der LCC2-Pipeline (mit Tiefe) |
| LCC1 Point Cloud Anti-aliasing Method | MSAA | Punktwolkenmodus der LCC-Pipeline |
| LCC2 Point Cloud Anti-aliasing Method | TSR | Punktwolkenmodus der LCC2-Pipeline |
Die LCC-Pipeline vermeidet TSR / TAA standardmäßig, weil beide bei fehlender Tiefeninformation während Kamerabewegungen Ghosting erzeugen.
Die GPU-Kosten von Antialiasing sind nicht gering, bei TSR besonders deutlich. Enthält die Szene nur 3DGS und keine regulären Meshes, die passende Option auf None setzen, um Antialiasing abzuschalten; die Bildqualität verliert meist sehr wenig, während der Gewinn bei der Bildrate erheblich ist. In Szenen mit regulären Modellen, UI oder Drahtgittern führt das Abschalten zu sichtbar treppigen Kanten bei diesen Inhalten.
Den tatsächlichen Kostenunterschied zwischen den Methoden mit ProfileGPU an der Zielszene messen, da der Abstand über Auflösungen und Hardware hinweg stark schwankt.
Hinweis: Existieren in der Szene gleichzeitig Actors beider Pipelines, hängt es von der Ausführungsreihenfolge ab, welche Methode wirkt; sie daher manuell auf denselben Wert konfigurieren. Siehe Bildeinstellungen.
Enable Post Process
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Rendering | Aktiviert / Deaktiviert | Aktiviert | Gemeinsam | Sofort |
Ob LCC-Pixel an der Nachbearbeitungs-Pipeline der Engine teilnehmen.
Aktiviert erhält 3DGS Tone Mapping, Bloom, Belichtung und weitere Nachbearbeitung gemeinsam mit den übrigen Objekten der Szene für eine einheitliche Anmutung. Deaktiviert behält 3DGS seine ursprünglichen Farben und bleibt von Tone Mapping und den danach folgenden Stufen unbeeinflusst. Die Deaktivierung erfordert die Ausgabe des Alphakanals in der Engine. Siehe Bildeinstellungen.
Apply Tonemap Inverse
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Rendering | Aktiviert / Deaktiviert | Deaktiviert | Gemeinsam | Sofort |
Ob FilmToneMapInverse während der Farbraumkonvertierung angewendet wird.
Die Aktivierung neutralisiert das Tone Mapping der Engine im Vorfeld, sodass das Endbild den ursprünglichen Kontrast und die ursprünglichen Farben der Daten wiederherstellt. Deaktiviert teilen 3DGS und reguläre Objekte dasselbe Tone Mapping.
Quad Extent Threshold
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Rendering | 0.001 ~ 0.1 | 0.006 | Nur LCC2 | Sofort |
Steuert, wie weit sich das Splat-Quad vom Gauß-Mittelpunkt nach außen erstreckt. Jeder Splat wird in ein Quad rasterisiert, und ein größeres Quad bedeckt mehr Pixel.
Ein höherer Wert macht Quads enger, senkt Overdraw und die Pixel-Füllkosten, kann aber die Kanten halbtransparenter Splats abschneiden, was sich als härtere Umrisse oder fehlende Kanten zeigt. Ein niedrigerer Wert hält Kanten vollständiger zu höheren Füllkosten.
Small Splat Threshold
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Rendering | 0.0 ~ 4.0 | 0 (aus) | Nur LCC2 | Sofort |
Splats, die auf dem Bildschirm kleiner als diese Pixelgröße sind, werden auf einen einzelnen Pixel zusammengefasst und überspringen die SH-Berechnung.
Ein höherer Wert überspringt die Shading-Berechnung vieler kleiner ferner Splats und senkt die GPU-Kosten deutlich, um den Preis, dass der Hintergrund blickwinkelabhängige Farbvariation verliert, was sich als Körnigkeit oder leichtes Flackern zeigen kann.
Frustum Cull Margin
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Rendering | 1.0 ~ 2.0 | 1.2 | Nur LCC2 | Sofort |
Margin-Faktor für das Frustum-Culling je Splat.
Über 1.0 dehnt sich das Frustum nach außen aus, was verhindert, dass Splats am Bildschirmrand beim Drehen der Kamera hereinspringen; ein größerer Wert behält mehr Randsplats zu leicht höheren Kosten. Bei 1.0 folgt das Culling dem Frustum streng und der Rand kann Popping zeigen.
Max CPU Usage Percetage For Free
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Usage | 50 ~ 100 | 90 | Gemeinsam | Sofort |
Die Freigabe von Nodes wird ausgelöst, wenn der Arbeitsspeicherbedarf diesen Prozentwert erreicht.
Ein niedrigerer Wert beginnt früher freizugeben und hält den Arbeitsspeicherbedarf zurückhaltender, das Ein- und Auslagern wird aber häufiger. Ein höherer Wert nutzt mehr Arbeitsspeicher und riskiert einen Absturz beim Annähern an die Systemgrenze.
CPU Release Percetage
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Usage | 10 ~ 100 | 30 | Gemeinsam | Sofort |
Prozentanteil der Daten, der bei jedem Auslösen der Freigabe geleert wird.
Ein höherer Wert gibt pro Auslösen mehr frei und löst seltener aus, die freigegebenen Daten müssen aber erneut geladen werden, was leicht ein einmaliges Ruckeln verursacht. Der Wert 100 ist nicht empfohlen.
Max GPU Usage Percetage For Free
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Usage | 50 ~ 100 | 80 | Gemeinsam | Sofort |
Die Freigabe wird ausgelöst, wenn der Grafikspeicherbedarf diesen Prozentwert erreicht. Bei der Freigabe werden Nodes anhand einer Kombination aus letztem Rendering-Zeitpunkt, Zugriffshäufigkeit, Datengröße und Level bewertet, und die am längsten nicht genutzten werden zuerst freigegeben, während Nodes mit hohem Level geschützt bleiben.
Ein niedrigerer Wert ist sicherer: Sobald der auf der Karte verfügbare Grafikspeicher überschritten wird, lagert der Treiber Daten in den Systemspeicher aus, und der Bildraten-Einbruch ist weit schlimmer als das Ein- und Auslagern.
GPU Release Percetage
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Usage | 10 ~ 100 | 30 | Gemeinsam | Sofort |
Prozentanteil der Grafikspeicherdaten, der bei jedem Auslösen freigegeben wird. Die Bewertungskriterien entsprechen denen von CPU Release Percetage.
LCC2 GPU Memory Budget
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Usage | 2048 ~ 8192 | 2048 | Nur LCC2 | Erfordert einen Editor-Neustart |
Grafikspeicher-Budget für die Splat-Daten eines einzelnen Modells. Sortier-Buffer zählen nicht in dieses Budget; jeder residente Splat kostet zusätzlich 16 Byte pro Ansicht.
Ein höherer Wert lässt mehr Daten gleichzeitig im Grafikspeicher resident bleiben und verringert die durch Ein- und Auslagern verursachten Löcher und Unschärfen. Das Budget ist aber nur die Obergrenze, die das Plugin anfordert, und ein Überschreiten des auf der Karte verfügbaren Grafikspeichers macht die Sache stattdessen langsamer. Die ladbare Menge bei Einzeldateiformaten erreicht ihre Grenze bereits bei 4096 MB, eine weitere Erhöhung hat daher keine Wirkung. Siehe Rendering.
Range For Level
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Level | Festes Float-Array mit 11 Einträgen | 15, 50, 80, 110, 140, 170, 190, 220, 250, 280, 350 | Nur LCC | Sofort |
Distanzbereich jedes Levels in Metern. Eintrag N ist die Distanzgrenze, ab der Level N wirksam wird.
Das ist die Basis-LOD-Tabelle, und eine Änderung wirkt unmittelbar auf jeden LCC-Actor. Normalerweise wird sie nicht direkt bearbeitet; stattdessen Level Factor am Actor nutzen, um sie als Ganzes zu skalieren. Auf das Verhältnis zwischen maximaler Renderdistanz und dieser Tabelle achten: Ist die maximale Distanz kleiner als einer dieser Werte, wird das entsprechende Level nie genutzt.
Sort Frequency For Level
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Level | Festes Float-Array mit 11 Einträgen | 5, 15, 25, 40, 50, 70, 90, 110, 130, 150, 170 | Nur LCC | Sofort |
Sortierfrequenz jedes Levels. Je höher das Level und je größer die Distanz, desto länger der Abstand zwischen den Neusortierungen.
Höhere Werte insgesamt senken die Sortierkosten, um den Preis, dass sich die Transluzenz-Reihenfolge ferner Nodes später aktualisiert. Normalerweise Sort Factor am Actor zum Skalieren nutzen statt diese Tabelle direkt zu bearbeiten.
Hinweis: Die LCC2-Pipeline wählt Levels über den Screen-Space-Fehler und nutzt Range For Level nicht; ihre Sortierung ist eine globale Sortierung je Splat innerhalb des einzelnen Buffers und nutzt Sort Frequency For Level nicht.
Default Traversal Type
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Traversal | Sector / Circle | Sector | Gemeinsam | Erfordert einen Editor-Neustart |
Modus der Node-Traversierung. Sector filtert sichtbare Nodes über das Frustum, Circle filtert kreisförmig nach Distanz.
Sector verarbeitet nur Nodes innerhalb der Ansicht zu niedrigeren Kosten und ist der empfohlene Wert. Circle zieht jeden Node in einem Ring um die Kamera herein, zu höheren Kosten, dafür laden Nodes nie zu spät, nur weil sie gerade erst in das Frustum eingetreten sind. In Szenen mit mehreren Viewports oder schnellem Drehen Circle ausprobieren.
Einstellungen des Thread-Pools
| Kategorie | Bereich | Standard | Pipeline | Wird wirksam |
|---|---|---|---|---|
| Loader / Traversal / Sort / Exporter | Siehe Tabelle unten | Siehe Tabelle unten | Nur LCC | Erfordert einen Editor-Neustart |
Diese Thread-Pools nutzen die Module für Laden, Traversierung und Sortierung der LCC-Pipeline. Die LCC2-Pipeline lädt Daten über den Thread-Pool der Engine und ist von diesen Einstellungen unbeeinflusst; die Ausnahme ist das Laden von Kollisionsdaten, bei dem beide Pipelines die Loader-Thread-Konfiguration gemeinsam nutzen.
Die Thread-Pools werden bei der Initialisierung des Moduls aus der Konfiguration erzeugt, nach einer Änderung ist daher ein Editor-Neustart erforderlich.
Jeder der vier Thread-Typen hat eine Einstellung für die „maximale Anzahl an Threads“ und für die „Anzahl vorab erzeugter Threads“:
| Einstellung | Bereich | Standard | Zweck |
|---|---|---|---|
| Max Loader Thread Number | 5 ~ 100 | 20 | Laden von Daten |
| Pre-Create Loader Thread Number | 0 ~ 100 | 5 | Vorab erzeugte Loader-Threads |
| Max Traversal Thread Number | 5 ~ 100 | 20 | Node-Traversierung |
| Pre-Create Traversal Thread Number | 0 ~ 100 | 5 | Vorab erzeugte Traversal-Threads |
| Max Sort Thread Number | 5 ~ 100 | 20 | Sortierung |
| Pre-Create Sort Thread Number | 0 ~ 100 | 5 | Vorab erzeugte Sort-Threads |
| Max Exporter Thread Number | 5 ~ 100 | 20 | Datenexport, unabhängig vom Rendering zur Laufzeit |
| Pre-Create Exporter Thread Number | 0 ~ 100 | 5 | Vorab erzeugte Exporter-Threads |
Mehr Threads ist nicht immer besser. Liegt der Engpass bei der Datenträger-IO, hilft das Hinzufügen von Loader-Threads nicht und erhöht nur die Konkurrenz. Eine Erhöhung der Grenze nur erwägen, wenn stat xgrids zeigt, dass die Warteschlange des entsprechenden Threads fortlaufend aufläuft und die CPU noch Reserven hat.
Vorab erzeugte Threads vermeiden die Kosten der Thread-Erzeugung zur Laufzeit, und ein höherer Wert senkt die Latenz beim Start des Ladens einer Szene.
Statistiken
Das Statistik-Panel mit dem Konsolenbefehl stat xgrids öffnen oder im Actor-Panel unter der Kategorie Developer auf Stats klicken.

Echtzeit-Leistungsstatistiken mit stat xgrids ansehen
Das Panel hat drei Abschnitte:
| Abschnitt | Spalten | Bedeutung |
|---|---|---|
| Cycle counters (flat) | CallCount, InclusiveAvg, InclusiveMax, ExclusiveAvg, ExclusiveMax | Zeiteinträge. Inclusive umfasst untergeordnete Aufrufe, Exclusive zählt nur den Eintrag selbst |
| Memory Counters | UsedMax, Mem%, MemPool, Pool Capacity | Bedarf an Arbeits- und Grafikspeicher, wobei Physical den physischen Speicherpool bezeichnet |
| Counters | Average, Max, Min | Zähleinträge |
Cycle counters (Zeiteinträge)
| Metrik | Bedeutung und Nutzung |
|---|---|
| Update Collision | Zeit für die Aktualisierung der Kollisionsdaten. Hat nur einen Wert, sobald Kollision aktiviert ist; ein hoher Wert bedeutet, dass die Kollision häufig neu aufgebaut wird, daher die Ladedistanz der Kollision senken |
| Update Camera Info | Zeit für das Erheben der Kamerainformationen pro Bild. Je mehr Ansichten, desto höher; mit Camera Num vergleichen |
| Component Update | Zeit für die Aktualisierung der Komponenten pro Bild, Kosten des Game-Threads. Sie summieren sich, wenn mehrere LCC-Actors eine Szene teilen |
| Get Physics Trimesh Data | Zeit für die Bereitstellung der Kollisions-Dreiecksnetze an das Physiksystem. Erscheint nur während des Physik-Backens und ist die unmittelbare Quelle von Kollisions-Ruckeln |
| Get From Cache | Zeit für das Abrufen von Daten bei einem Cache-Treffer. Das ist der schnelle Pfad gegenüber Datenträgerzugriffen, ein hoher Anteil hier ist also ein gutes Zeichen |
Memory Counters (Arbeits- und Grafikspeicher)
| Metrik | Bedeutung und Nutzung |
|---|---|
| CPU Usage | Von LCC belegter Systemspeicher. Zusammen mit CPU Occupy Percentage lesen, um zu beurteilen, wie nah der Freigabeschwellwert ist |
| Collision Data Usage | Von Kollisionsdaten belegter Arbeitsspeicher. Je größer die Kollisionsdistanz, desto höher; der unmittelbarste Gewinn beim Abschalten der Kollision |
| Position Data(For Raycast) Usage | Arbeitsspeicher der für Strahlentests genutzten Positionsdaten. Er ist 0, wenn keine Strahlentests durchgeführt werden |
| GPU Usage | Von LCC belegter Grafikspeicher. Er wird anders gemessen als GPU Occupy Percentage |
Counters (Zähleinträge)
| Metrik | Bedeutung und Nutzung |
|---|---|
| Total Splats | Gesamte Punktzahl des Datensatzes, ein fester Wert |
| Level0 Splats | Punktzahl von Level 0, die entscheidet, ob die Kriterien für vollständiges Laden erfüllt sind |
| Current Render Main Splats | Im aktuellen Bild gerenderte Punktzahl der Hauptdaten. Mit Max Splat Num vergleichen, um zu erkennen, ob die Punktgrenze erreicht wurde |
| Current Render Nodes | Im aktuellen Bild gerenderte Anzahl der Nodes |
| Total Nodes | Gesamte Anzahl der Nodes des Datensatzes, ein fester Wert |
| Released GPU Node Num | Anzahl der aus dem Grafikspeicher freigegebenen Nodes. Fortlaufendes Wachstum bedeutet häufiges Ein- und Auslagern, was meist auf ein zu kleines Grafikspeicher-Budget hindeutet |
| Released CPU Node Num | Anzahl der aus dem Arbeitsspeicher freigegebenen Nodes. Wie oben zu beurteilen |
| GPU Occupy Percentage | Prozentanteil des belegten Grafikspeichers. Die Freigabe steht bevor, wenn er sich dem Schwellwert Max GPU Usage nähert |
| CPU Occupy Percentage | Prozentanteil des belegten Arbeitsspeichers |
| Loader Thread Num | Anzahl der Loader-Threads. Eine Erhöhung der Grenze nur erwägen, wenn die Warteschlange aufläuft und die CPU noch Reserven hat |
| Pre-Loader Thread Num | Anzahl der Vorlade-Threads |
| Collision Loader Thread Num | Anzahl der Threads zum Laden von Kollisionen |
| Sort Thread Num | Anzahl der Sort-Threads |
| Traversal Thread Num | Anzahl der Traversal-Threads |
| Exporter Thread Num | Anzahl der Exporter-Threads, unabhängig vom Rendering zur Laufzeit |
| Camera Num | Anzahl der an Aktualisierungen teilnehmenden Kameras |
| Camera Num(Render) | Anzahl der am Rendering teilnehmenden Ansichten, die unmittelbare Grundlage zur Beurteilung der Kosten von SceneCapture, Splitscreen und nDisplay |
| Node Vector Pool Num | Anzahl der Objekte im Node-Vector-Pool, eine interne Statistik zur Objektwiederverwendung |
| Valid Node Num | Anzahl der gültigen Nodes, eine interne Zustandsstatistik |
Debug-Werkzeuge
| Werkzeug | Beschreibung |
|---|---|
| Debug Node Bound | Visualisiert die Grenzen der Octree-Nodes, wobei die Farbe das Level angibt (rot ist die höchste Genauigkeit, weiß die niedrigste). Damit prüfen, ob die LOD-Parameter wie erwartet wirken |
| Stats | Zeigt Echtzeit-Render-Statistiken, entspricht stat xgrids |
| FreezeRendering | Friert den aktuellen Render-Zustand ein. Nach dem Einfrieren löst eine Kamerabewegung keine Traversierung mehr aus, sodass sich prüfen lässt, welche Nodes das aktuelle Bild tatsächlich übergeben hat |