Optymalizuj swoje doświadczenia

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.


Optymalizacja twojego doświadczenia to proces konfiguracji swoich zasobów i ustawień Studio, aby utrzymać wysoki poziom szybkości ram i poziom wydajności dla urządzeń z ograniczeniami jednostki przetwarzania pamięci i grafiki (GPU).Proces ten zapewnia, że prawie każdy użytkownik ma taką samą grę i wizualną doświadczenie, gdy ogląda twoje środowisko.

Używając pliku środowiskowego sztuki Optymalizacja, ten rozdział kursu sztuki środowiskowej pokazuje, jak przeglądać i konfigurować plik swojego miejsca dla optymalnych grafik, w tym wskazówki dotyczące:

  • Przegląd parametrów fizyki i renderowania każdej aktywności, aby potwierdzić, że zachowują pamięć i wydajność silnika.
  • Wycinanie nadmiaru tekstur, geometrii lub przezroczystości, które niepotrzebnie zwiększają ilość obliczeń, które musi wykonać silnik Roblox, aby wyrenderować twoje zasoby.

Chociaż silnik Roblox obsługuje większość prac optymalizacyjnych dla Ciebie, możesz pomóc w tych wysiłkach optymalizacyjnych, wykorzystując Mikroprofilownik, aby zobaczyć, gdzie zajmuje więcej czasu na renderowanie konkretnych ram.Na podstawie tych informacji możesz podejmować świadome decyzje o tym, jakie zasoby wymagają Twojej uwagi w odniesieniu do ich parametrów lub nadmiaru treści.

Przegląd fizyki i parametrów renderowania

W Zgromadź bibliotekę zasobów nauczyłeś się, jak ważne jest ustawienie parametrów fizyki i renderowania, które pozwalają twoim zasobom zachować wysoką jakość wizualną na urządzeniach z ograniczeniami pamięci i GPU.Jednak jest to powszechne, gdy konstruujesz swoje środowisko, aby dostosować te parametry zgodnie z kontekstową pozycją i przeznaczeniem zasobu w twoim doświadczeniu.Na przykład duża część liści w ostatecznym środowisku laserowego tagu próbnego rzuca cienie pomimo kosztów wydajności, ponieważ dodaje do realizmu środowiska.

Gdy modyfikujesz parametry fizyki i renderowania, przydatne jest, aby przed końcem procesu rozwoju przejrzeć wszystkie parametry, aby zobaczyć, gdzie można zoptymalizować parametr, zachowując estetyczne cele i wymagania dotyczące rozgrywki.Aby zilustrować, możesz wyłączyć właściwość BasePart.CastShadow dla liści w pobliżu krawędzi obszaru gry, aby zaoszczędzić na wydajności bez ingerowania w grę użytkownika lub wizualne doświadczenie.

An outdoor view of the sample laser tag experience that casts shadows.
BasePart.CastShadow = Wyłączone
An outdoor view of the sample laser tag experience that doesn't cast shadows. There is almost no difference in this view, but it improves performance.
BasePart.CastShadow = Włączone

Odrzuć nieistotną zawartość

Po przejrzeniu parametrów fizyki i renderowania możesz przejrzeć same zasoby, aby zobaczyć, gdzie możesz usunąć niepotrzebne treści z doświadczenia, które nie wpływają na twoją rozgrywkę, takie jak identyczne tekstury z różnymi ID, skomplikowana geometria z wieloma wierzchołkami lub transparentności, które nakładają się jeden na drugiego w zależności od widoku kamery.Następujące sekcje szczegółowo opisują to, co możesz zrobić, aby przejrzeć tę zawartość, i dlaczego pomaga to w wysiłkach optymalizacyjnych.

Usuń powielone tekstury

Podczas przejścia między opracowywaniem swoich zasobów a budowaniem środowiska powszechnym jest powtarzanie meszy lub tekstur, gdy znajdziesz to, co jest niezbędne do osiągnięcia celów estetycznych lub wymagań dotyczących gry.Jeśli nie przekonwertujesz swoich zasobów na pakiety, gdy importujesz te iteracje do Studio, tworzysz unikalne ID zasobów, które Roblox Engine musi odwoływać, gdy renderuje twoje zasoby w środowisku.

Na przykład, jeśli importujesz dwie poniższe siatki hydrantów do Studio oddzielnie, nawet jeśli są identyczne pod względem wyglądu, silnik Roblox traktuje je jako dwa obiekty z unikalnymi ID.Im bardziej unikalne są wezwania, które silnik musi wykonać, tym większy wpływ na pamięć i wydajność.Z tego powodu ważne jest potwierdzenie, kiedy ponownie używasz zasób wielokrotnie, każda instancja tego zasobu używa tego samego identyfikatora zasobu, dzięki czemu silnik musi wykonać tylko jedno wezwanie, aby renderować go wielokrotnie.

Two of the exact same fire hydrant with unique assetIDs. There is no visual difference but the duplicate assetIDs negatively impacts performance.

Optymalizuj geometrię

Jeśli stwierdzisz, że musisz dokonać więcej dostosowań, aby zwiększyć szybkość ramienia na urządzeniach, przydatne jest zobaczenie, gdzie możesz zoptymalizować swoją geometrię poprzez:

  • Połączenie grup meszy w jedną jednostkę.
  • Zmniejszanie liczby poligonów zasobów z kompleksowością geometryczną.

Rozszerzając o tę pierwszą technikę, każdy unikalny element w twoim doświadczeniu reprezentuje wezwanie do GPU, w którym wysyła sygnał do GPU, aby zażądać informacji, aby silnik Roblox renderował element poprawnie.Im więcej unikalnych zasobów posiadasz, tym więcej połączeń wywołuje system, aby dokonać.Z tego powodu, jeśli masz grupę siatek, które tworzą większy komponent w swoim doświadczeniu, możesz je zgrupować w narzędziach modelowania stron trzecich, aby zmniejszyć potrzebę wielu wezwań do rysowania.

Aby zilustrować ten punkt, ostateczne próbne środowisko tagu laserowego połącza wiele części i siatek, aby stworzyć duże wieże poza budynkiem.Jeśli połączysz wszystkie te pojedyncze komponenty razem, możesz uczynić go jednym aktywem z jednym ID aktywu i zmniejszyć liczbę wezwań do rysunku z 8 do 1.Jednak ważne jest, aby zauważyć, że ta technika usuwa twoją zdolność do swobodnego zmieniania wizualnych i fizycznych cech każdego komponentu, takich jak jego pozycja lub materiał.

Na przykład, w następnym obrazie lewa wieża pozostaje wieloma zasobami pod jednym obiektem Model, a prawa wieża jest pojedynczym zasobem.Możesz modyfikować każdy składnik lewej wieży indywidualnie, ale gdy zmienisz prawą wieżę, na przykład zmieniając jej kolor na czarny, wpływa to na całość obiektu.Dlatego ważne jest, aby rozważyć tę technikę tylko pod koniec rozwoju środowiska, gdy wiesz, gdzie możesz poprawić wydajność bez wpływu na twoje cele estetyczne.

A front view of the two towers. The tower on the left includes multiple assets under a single model, while the tower on the right decreases the amount of assets by removing all texture objects.

Rozszerzając na drugą technikę, zasoby o złożoności geometrycznej mają więcej pól, co oznacza, że mają więcej wierzchołków, które silnik musi obliczyć, aby wyrenderować ich wizualny wygląd.Oznacza to, że zasoby o mniejszej złożoności i wierności są mniej kosztowne w renderowaniu, co prowadzi do poprawy wydajności i pamięci.

Usuń przeźroczystości warstwowe

Aby zapewnić poczucie realizmu dla środowiska, ostatnie środowisko laserowego tagowania próbek zawiera wiele siatek o różnym poziomie przejrzystości, takich jak liście w przestrzeni zewnętrznej, szkło na futurystycznym oznakowaniu lub balustradzie.Gdy kamera widzi wiele półprzezroczystych obiektów, które są przed lub za każdym z nich, silnik Roblox musi renderować pokrywające się piksele wielokrotnie, aby uwzględnić przezroczyste obszary.Proces ten nazywa się wysoką przepięciem przejrzystości i ma znaczący wpływ na wydajność.

Na przykład, rozważmy następujący widok sadzarki w środowisku próbnym.Silnik musi wyrenderować przezroczyste obszary liści między rośliną najbliższą kamery a rośliną najbliższą obszarowi zewnętrznemu w warstwach, odpowiadającym setkom tysięcy przeciągniętych pikeli.Aby złagodzić niektóre z tych skutków, ważne jest przegląd układu wszystkich półprzezroczystych obiektów w Twoim środowisku i zapewnienie, że nie ma zbyt wielu miejsc, w których istnieje wiele warstw pokrycia, szczególnie na dużych obszarach ekranu.

A Rthro avatar facing a planter with multiple plants with transparency between the leaves.
A side view of the Rthro avatar facing a planter with multiple plants with transparency between the leaves, and example layers of overdrawn pixels are highlighted to show where there is overdrawn in the environment.

Gdy zakończysz przegląd całej swojej zawartości, aby zapewnić, że jest optymalna na wszystkich urządzeniach, twoje doświadczenie jest teraz gotowe do publikacji!