Das Tool zur Szenenanalyse bietet eine Reihe von Ansichten in Roblox Studio, die Ihnen auf einen Blick vergleichende Informationen darüber geben, wie Ihre Client- und Server-Szenen aufgebaut sind, welche Ressourcen sie verwenden und welche Instanzen für diese Ressourcennutzung verantwortlich sind. Die Szenenanalyse ist für die Verwendung während Spiel- und Testsitzungen konzipiert und kann sowohl die Client- als auch die Server-Datenmodelle inspizieren.

Szenenanalyse aktivieren
- Aktivieren Sie Szenenanalyse in Datei > Beta-Funktionen.
- Wählen Sie in der Menüleiste Fenster > Leistungszusammenfassung > Szenenanalyse.
Szenenanalyse verwenden
Die Szenenanalyse ist so konzipiert, dass sie während einer Spiel- oder Testsitzung verwendet wird. Öffnen Sie das Fenster zur Szenenanalyse und durchsuchen Sie die verfügbaren Modi. Wenn ein Modus aktiv ist, sehen Sie eine Ansicht von Kästchen - die squarified treemap Ansicht - die die relativen Größen der angezeigten Ressourcen und die Instanzen, die zu ihnen beitragen, zeigt.
- Unter der squarified treemap Ansicht befindet sich eine Liste aller Elemente in der aktuellen Ansicht.
- Durch Rechtsklick auf ein ausgewähltes Element in der Szenenanalyse können Sie in der Regel direkt zu diesem Element im Explorer springen.
- Sie können die Suchleiste verwenden, um nach Namen in der aktuellen Anzeige zu filtern.
Modi
Die Szenenanalyse hat viele verschiedene Modi, von denen jeder eine andere Verwendung hat.
Skriptspeicher
Diese Ansicht zeigt, wie viel Speicher jeder Script, LocalScript und ModuleScript im Luau VM verwendet. Dies ist der Speicher, der von Tabellen und anderen Skripten verwendet wird, nicht der Speicher, der von Vermögenswerten wie Animationen, Texturen und Sounds verwendet wird. Die Ansicht wird weiter nach den häufigen Orten unterteilt, von denen Skripte ausgeführt werden, und nach Script versus ModuleScript.
Unverankerte Instanzen
Die Ansicht der unverankerten Instanzen zeigt, welche Skripte und Module Referenzen auf Instanzen halten, als eine Zählung pro Typ.
Skripte, die Referenzen auf Instanzen halten, sind normal und stellen an sich kein Anzeichen für einen Fehler oder Speicherleck dar. Wenn Sie jedoch ein Speicherleck untersuchen, macht es diese Ansicht einfach zu erkennen, ob ein Skript etwas tut, was Sie nicht erwartet haben.
Wenn Sie immer noch Schwierigkeiten haben, die Ursache eines Speicherlecks zu finden, ist dieses Tool ergänzend zum Luau-Heap Tool, das Ihnen mehr Informationen über einzelne Zuweisungen anzeigen kann.
Klicken Sie mit der rechten Maustaste auf ein Skript in dieser Ansicht, um es direkt im Explorer auszuwählen.
Instanzenkomposition
Die Instanzenkompositionsansicht zeigt, welche Instanzen derzeit auf dem Client oder Server vorhanden sind. Dies ist von unschätzbarem Wert, wenn Sie an großen und komplexen Builds arbeiten, da jede Instanz sowohl Replikations- als auch Speicherkosten hat.
Die Kategorien, wie Charaktere, Geometrie und Texturen, sind so konzipiert, dass Sie verstehen, wie Ihre Szene ausgewogen ist. Vielleicht hatten Sie nicht vor, 25.000 Partikelemittenten zu haben, aber diese Ansicht macht Sie darauf aufmerksam.
Diese Ansicht erleichtert es auch, alle Instanzen eines bestimmten Typs auszuwählen.
Audiospeicher
Die Ansicht des Audiospeichers zeigt, wie viel Speicher jeder Audio-Vermögenswert derzeit verbraucht. Der tatsächliche Speicher, der von einem bestimmten Audiotrack verwendet wird, ist recht komplex, aber praktisch gesehen ermöglicht das Löschen aller Instanzen, die sich auf einen Audiotrack beziehen, dass dieser Speicher entladen wird.
Klicken Sie mit der rechten Maustaste auf einen Audio-Vermögenswert in dieser Ansicht, um alle Instanzen auszuwählen, die ihn verwenden.
Animationsspeicher
Animations-Vermögenswerte sind eine der häufigsten Ursachen für Speicherlecks in der Produktion. Roblox ist aggressiv darin, ungenutzte Animationsvermögenswerte zu entladen, aber es ist üblich, dass Skripte Animationen am Leben halten, nachdem das übergeordnete Modell zerstört wurde.
Wie bei Audiovermögenswerten ermöglicht das Löschen aller Instanzen, die sich auf einen Animationsvermögenswert beziehen, dass dieser entladen wird.
Diese Ansicht, zusammen mit der Ansicht der unverankerten Instanzen, macht es einfach, den Lebenszyklus von Animationen nachzuvollziehen und wie viel Speicher sie tatsächlich verwenden.
Klicken Sie mit der rechten Maustaste auf eine Animation in dieser Ansicht, um alle Instanzen auszuwählen, die sie verwenden.
Dreieckszusammenstellung
Die Ansicht der Dreieckszusammenstellung gibt Ihnen eine detailliertere Aufschlüsselung der Dreiecke und Draw Calls, die derzeit im Hauptansichtsfenster gerendert werden.
Diese Aufschlüsselungen umfassen Zählungen für Schatten, opak, transparent, Terrain, Gras, Partikel, Himmel und UI.
Diese kompositorischen Informationen helfen Ihnen, besser zu verstehen, wie Ihre Szenengeometrie zusammengesetzt ist, und unerwartete Geometrie in der Szene zu identifizieren.
Engine API
Sie können auch programmatisch auf die Daten der Szenenanalyse über SceneAnalysisService zugreifen, die über den MCP-Server verfügbar ist. Jede Methode gibt Tabellen zurück, die verschachtelte Kinder mit denselben Daten enthalten, die die visuelle Anzeige verwendet.
| Methode | Beschreibung |
| GetInstanceCompositionAsync | Gibt Instanzanzahlen nach Kategorie und Klasse aus dem DataModel-Baum zurück. |
| GetScriptMemoryAsync | Gibt den pro-Skript Luau VM Heap-Speicherverbrauch in Bytes zurück. |
| GetUnparentedInstancesAsync | Gibt Instanzen zurück, die von Luau gehalten werden, aber nicht mehr im DataModel sind, gruppiert nach übergeordnetem Skript. |
| GetTriangleCompositionAsync | Gibt die Zählungen von Dreiecken und Draw Calls nach Renderpass zurück. |
| GetAnimationMemoryAsync | Gibt den geladenen Speicher von Animationsclips zurück, dedupliziert nach Clip. |
| GetAudioMemoryAsync | Gibt den geladenen Speicher von Audiovermögenswerten zurück, dedupliziert nach Vermögens-ID. |