Narzędzie do analizy sceny oferuje zestaw widoków w Roblox Studio, które dostarczają na pierwszy rzut oka porównawczych informacji o tym, jak twoje sceny klienta i serwera są zbudowane, jakie zasoby wykorzystują oraz które instancje są odpowiedzialne za to wykorzystanie zasobów. Analiza sceny została zaprojektowana do użycia podczas sesji gry i testowania i może analizować zarówno dane klienta, jak i serwera.

Włącz analizę sceny
- Włącz Analizę Sceny w Plik > Funkcje Beta.
- W pasku menu wybierz Okno > Podsumowanie Wydajności > Analiza Sceny.
Użyj analizy sceny
Analiza sceny została zaprojektowana do użycia podczas sesji gry lub testowej. Otwórz okno analizy sceny i przeglądaj dostępne tryby. Gdy tryb jest aktywny, zobaczysz wyświetlacz pudełek - widok squaryfikowanej mapy, pokazujący względne rozmiary oglądanych zasobów i instancji, które się do nich przyczyniają.
- Poniżej widoku squaryfikowanej mapy znajduje się lista wszystkich elementów w aktualnym widoku.
- Kliknięcie prawym przyciskiem myszy na wybranym elemencie w analizie sceny zazwyczaj pozwala na bezpośrednie przejście do tego elementu w Eksploratorze.
- Możesz użyć paska wyszukiwania, aby filtrować według nazwy w aktualnym wyświetlaniu.
Tryby
Analiza sceny ma wiele różnych trybów, z których każdy odpowiada innemu przypadkowi użycia.
Pamięć skryptu
Ten widok pokazuje, ile pamięci używa każdy Script, LocalScript i ModuleScript w maszynie wirtualnej Luau. Jest to pamięć używana przez tabele i inne alokacje skryptów, a nie pamięć używana przez aktywa, takie jak animacje, tekstury i dźwięki. Widok jest dodatkowo podzielony według powszechnych lokalizacji, z których wywoływane są skrypty oraz według Script w porównaniu do ModuleScript.
Instancje bez rodzica
Widok instancji bez rodzica pokazuje, które skrypty i moduły trzymają odniesienia do instancji, w liczbie według typu.
Skrypty trzymające odniesienia do instancji są normalne i nie są, same w sobie, oznaką błędu lub wycieku pamięci. Jednak jeśli badzasz wyciek pamięci, ten widok ułatwia zauważenie, czy skrypt robi coś, czego się nie spodziewałeś.
Jeśli nadal masz problem ze znalezieniem głównej przyczyny wycieku pamięci, to narzędzie uzupełnia narzędzie Luau heap, które może pokazać więcej informacji o pojedynczych alokacjach.
Kliknij prawym przyciskiem myszy dowolny skrypt w tym widoku, aby wybrać go bezpośrednio w Eksploratorze.
Kompozycja instancji
Widok kompozycji instancji pokazuje, które instancje są obecnie dostępne na kliencie lub serwerze. Jest to nieocenione przy pracy nad dużymi i złożonymi budowami, ponieważ każda instancja ma zarówno koszty replikacji, jak i pamięci.
Kategorie, takie jak Postacie, Geometria i Tekstury, mają na celu pomóc ci zrozumieć, jak bilansujesz swoją scenę. Na przykład, być może nie zamierzałeś mieć 25 000 emitentów cząsteczek, ale ten widok cię o tym informuje.
Ten widok również ułatwia wybór wszystkich instancji danego typu.
Pamięć dźwięku
Widok pamięci dźwięku pokazuje, ile pamięci aktualnie konsumuje każdy zasób audio. Rzeczywista pamięć używana przez dany utwór audio jest dość złożona, ale w praktyce usunięcie wszystkich instancji, które odnoszą się do utworu audio, pozwala na jego zwolnienie z pamięci.
Kliknij prawym przyciskiem myszy dowolny zasób audio w tym widoku, aby wybrać wszystkie instancje, które go używają.
Pamięć animacji
Zasoby animacji są jednym z najczęstszych źródeł wycieków pamięci w produkcji. Roblox jest agresywny w usuwaniu nieużywanych zasobów animacji, ale często zdarza się, że skrypty utrzymują animacje przy życiu po zniszczeniu ich modelu rodzica.
Tak jak w przypadku zasobów audio, usunięcie wszystkich instancji, które odwołują się do zasobu animacji, pozwala na jego zwolnienie z pamięci.
Ten widok, wraz z widokiem instancji bez rodzica, ułatwia śledzenie cyklu życia animacji i ich faktycznego użycia pamięci.
Kliknij prawym przyciskiem myszy dowolną animację w tym widoku, aby wybrać wszystkie instancje, które ją używają.
Kompozycja trójkątów
Widok kompozycji trójkątów daje ci szczegółowe zestawienie trójkątów i wywołań rysowania, które są obecnie renderowane w głównym widoku.
Te zestawienia zawierają liczby dla Cieni, Opaquzych, Przezroczystych, Terenu, Trawy, Cząsteczek, Nieba i UI.
Te informacje kompozycyjne pomagają lepiej zrozumieć, jak złożona jest geometria twojej sceny i identyfikować przypadki, w których scena zawiera niespodziewaną geometrię.
API silnika
Możesz także programowo uzyskać dostęp do danych analizy sceny przez SceneAnalysisService, które jest eksponowane przez serwer MCP. Każda metoda zwraca tabele zawierające zagnieżdżone dzieci z tymi samymi danymi, które wykorzystuje wizualny wyświetlacz.
| Metoda | Opis |
| GetInstanceCompositionAsync | Zwraca liczby instancji według kategorii i klasy z drzewa DataModel. |
| GetScriptMemoryAsync | Zwraca zużycie pamięci stosu Luau VM na skrypt w bajtach. |
| GetUnparentedInstancesAsync | Zwraca instancje trzymane przez Luau, ale już nie w DataModel, pogrupowane według skryptu gospodarza. |
| GetTriangleCompositionAsync | Zwraca liczby trójkątów i wywołań rysowania według przejścia renderowania. |
| GetAnimationMemoryAsync | Zwraca pamięć załadowanych klipów animacji, deduplikowaną według klipu. |
| GetAudioMemoryAsync | Zwraca pamięć załadowanych zasobów audio, deduplikowaną według identyfikatora zasobu. |