Odniesienie tagów

*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.

Poniżej znajduje się lista powszechnych tagów w MicroProfilerze, pogrupowanych według kategorii. Tagi są również określane zamiennie jako zadania, timery, zakresy, procesy i etykiety. Niezależnie od nazwy, reprezentują jednostkę pracy.

Zrozumienie tych tagów może pomóc w identyfikacji problematycznego kodu w Twojej grze. Tabele zawierają etykiety tagów, opisy oraz porady dotyczące poprawy wydajności i optymalizacji Twojej gry.

Sen

Gdy wątki nie wykonują aktywnie zadań, wchodzą w stan uśpienia, z tagami wskazującymi, jak długo wątek był uśpiony. W każdej chwili niezwykle powszechne jest, że większość wątków roboczych znajduje się w stanie uśpienia.

Nawigacja

EtykietaOpisPorady dotyczące wydajności
rasterizeTileAktualizuje kafelki nawigacyjne potrzebne do żądania pathfindingu, zazwyczaj poprzedzone przez computePath, które wymaga, aby te kafelki były aktualne. Następuje po NavigationJob/preprocess na głównym wątku.Zredukuj liczbę unieważnień kafelków ścieżek, ponieważ powoduje to konieczność ponownego obliczania tych ścieżek. Jest to spowodowane ruchem elementów, które nie są nawigowalne.
computePath

Oblicza ścieżki, zazwyczaj po rasterizeTile.

Zredukować liczbę i zasięg światów wywołań Path:ComputeAsync(). Spróbuj ponownie użyć ścieżek dla wielu agentów, jeśli oczekuje się, że rozpoczną/ukończą w zbliżonych lokalizacjach.
preprocess/getPrimitivesOverlappingZbiera geometrię świata dla każdej kafelki ścieżkowej i planuje zadania rasteryzacji do wykonania przez wątek pathfindingu.Zredukować liczbę części.

Animacja i humanoidy

EtykietaOpisPorady dotyczące wydajności
Symulacja/gameSteppedPrzetwarzanie obiektów specyficznych dla gry, takich jak Humanoids, Animations oraz wywołania zwrotne heartbeat.Zobacz etykiety gameStepped poniżej.
Symulacja/gameStepped/stepHumanoidZmiany stanu i ruch Humanoid.Zredukuj liczbę Humanoids lub wyłącz stany Humanoid na NPC, które ich nie potrzebują, takie jak Climbing lub Swimming. Zmniejsz wywołania zwrotne do Humanoid.StateChanged lub zmiany stanu, takie jak Running lub Died.
Symulacja/gameStepped/stepAnimationAnimators będzie krokować do przodu w aktualnie odtwarzanych animacjach.Zredukuj liczbę Animators lub animowanych stawów, aby zmniejszyć obciążenie tego kroku. Zmniejsz liczbę wywołań zwrotnych do zdarzeń animacji, takich jak AnimationTrack.KeyframeReached lub AnimationTrack.Ended.
Symulacja/gameStepped/RunService.SteppedUruchamia funkcje połączone z wydarzeniem RunService.Stepped.Zredukuj liczbę lub obciążenie funkcji połączonych z tym wydarzeniem. Rozważ opóźnienie lub zastąpienie kosztownych obliczeń lub rozłożenie obliczeń na wiele klatek.

Audio

EtykietaOpisPorady dotyczące wydajności
DźwiękPrzetwarza symulację akustyczną i aktualizuje dźwięki w aktywnym odtwarzaniu.Zobacz etykiety Dźwięk poniżej.
Dźwięk/stepInstancesAktualizuje głośność aktywnych dźwięków w przestrzeni roboczej.Zredukować liczbę dźwięków w aktywnym odtwarzaniu.

Sieć

EtykietaOpisPorady dotyczące wydajności
Net PacketReceiveOdbiera pakiety sieciowe. Jeśli wiele obiektów lub zdarzeń jest replikowanych, ten krok trwa dłużej.Replikuj mniej obiektów lub zdarzeń.
Replicator/ProcessPacketsPrzetwarza zawartość pakietów sieciowych, takich jak ruch, wywołania zdarzeń i zmiany właściwości.Zredukuj liczbę lub rozmiar replikowanych obiektów lub rób to w przyrostowych krokach. Może się zwiększyć, gdy rozmiar mapy wzrasta, ponieważ większe mapy mają tendencję do posiadania większej ogólnej aktywności.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersWysyła dane o aktywności w grze.Zredukuj liczbę poruszających się obiektów i/lub dotyków. Zobacz następne sekcje.
Allocate Bandwidth and Run Senders/Dispatch StreamJobWysyła odpowiadające konkretne regiony do konkretnych klientów w funkcji strumieniowania.Zredukuj minimalne i docelowe promienie strumieniowania.
Allocate Bandwidth and Run Senders/Dispatch Data SendersWysyła zmiany właściwości, wywołania zdarzeń zdalnych, zmiany stanu Humanoid, zmiany stanu animacji i replikacje nowych instancji.Zredukuj liczbę replikowanych zmian modelu danych.
Replicator SendClusterWysyła dane o Terrainie do klientów.Zredukuj ilość lub rozmiar zmian terenu.
ModelCompleteness Mega JobSerwer tylko: kompletność to wewnętrzna koncepcja. Gdy modele są całkowicie wysyłane, wysyłane są zdarzenia kompletności modeli.Dodawaj lub usuwaj mniej instancji.
deserializePacketPrzetwarzanie pakietów sieciowych na niskim poziomie. Przygotowuje do Replicator/ProcessPackets.Wysyłaj mniej lub mniejsze aktualizacje.

Rendering

EtykietaOpisPorady dotyczące wydajności
PrepareInformacje są zbierane z głównego wątku i aktualizują różne struktury danych używane do renderowania.Zobacz etykiety Prepare poniżej.
Prepare/Pass3dAdornZarządza renderowaniem różnych dekoracji obiektów, takich jak etykiety tekstowe nad obiektami. Dla etykiet Humanoid z okluzją ten krok obejmuje rzutowanie promieni w celu określenia, czy takie obiekty są widoczne. Obejmuje to części nieprzezroczyste, aby ułatwić wizualizacje debugowania.Zredukuj liczbę widocznych ozdobionych obiektów, takich jak BillboardGuis, etykiety nazwy/zdrowia Humanoid itp. Zmniejsz liczbę widocznych części.
Prepare/Pass2dPrzygotowuje renderowanie UI 2D (zarówno dla gracza, jak i UI Roblox).Zredukuj liczbę lub złożoność elementów UI.
Prepare/UpdatePrepare/updateInvalidPartsAktualizuje części, które miały zmienioną lub dodaną właściwość.Zredukuj liczbę zmian właściwości w świecie. Jeśli skrypt aktualizuje dużą liczbę właściwości obiektów, rozłóż to na kilka klatek.
Prepare/UpdatePrepare/updateInvalidatedFastClustersPrzygotowuje geometrie "FastCluster" używane do renderowania Humanoids i skośnych MeshParts. Etykiety wskazują liczbę części, wierzchołków i rozmiar wierzchołków.Zredukuj zmiany wizualne w modelach z Humanoids lub skośnymi MeshParts.
Prepare/UpdatePrepare/updateDynamicPartsPrzygotowuje Beams, ParticleEmitters i Humanoids do renderowania.Zredukuj liczbę widocznych Beams, ParticleEmitters i Humanoids.
Prepare/UpdatePrepare/updateInstancedClustersAktualizuje geometrię wykorzystującą renderowanie instancjonowane, takie jak części. Etykiety Clusters i Instances wskazują liczbę aktualizacji.Zredukuj pracę, która nieprywatnie aktualizuje ramkę ograniczającą części, takie jak BasePart.CFrame, BasePart.Size lub Motor6D.Transform. Kreatywne aktualizacje właściwości, takie jak Bone.Transform, mogą pomóc.
PerformGdy rzeczywiste polecenia renderowania są tworzone i wydawane.Zobacz etykiety Perform poniżej.
Perform/fillGuiVerticesWypełnia buforami wierzchołków UI, aby przygotować się do renderowania. Etykieta liczba gui wskazuje liczbę LayerCollectors widoczną w klatce.Jeśli koszt jest wysoki, zredukuj liczbę, gęstość i zajmowaną przestrzeń przez elementy UI. Jeśli jest zbyt wiele etykiet Process GuiEffect, rozważ redukcję użycia UIGradient i UICorner na etykietach tekstowych.
Perform/Scene/queryFrustumOrderedZastosowuje przekształcenie frustum, aby obiekty niewidoczne nie były renderowane.Jeśli koszt jest wysoki, oznacza to, że jest wiele elementów. Może warto użyć większych siatek, gdzie pojedyncza siatka ma więcej szczegółów niż wiele małych, indywidualnych elementów.
Perform/Scene/computeLightingPerformObliczenia oświetlenia w pobliżu kamery.Manipuluj liczbą źródeł światła lub mniej poruszaj kamerą, aby zmniejszyć czas potrzebny do ponownego obliczenia oświetlenia.
Perform/Scene/computeLightingPerform/LightGridCPUAktualizuje oświetlenie wokselowe, które jest używane przy niższych poziomach jakości.Jeśli aktualizacja zajmuje zbyt długo, rozważ użycie geometrii o niższej rozdzielczości, zmniejszenie liczby części lub przytwierdzenie części. Jeśli inne etykiety zajmują zbyt długo, rozważ redukcję liczby źródeł światła i użycie geometrii nierzucającej cieni dla obiektów, które się poruszają i unieważniają zajętość.
Perform/Scene/computeLightingPerform/ShadowMapSystemAktualizuje mapy cieni. Nie wykonywane przy poziomach jakości poniżej 4.Zredukuj liczbę źródeł światła. Możesz również użyć Light.Shadows i BasePart.CastShadow, aby wyłączyć rzucanie cieni na mniej istotnych instancjach. Zobacz Popraw wydajność.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApplyRenderowanie post-processów.Zredukuj liczbę efektów post-processów. Zazwyczaj nie jest to znaczące.
Perform/Scene/UIRenderowanie UI. W Id_Screen, jest etykieta z liczbą partii, materiałów i trójkątów używanych.Zredukuj liczbę widocznych elementów UI. Użycie CanvasGroups może pomóc, ale kosztem zwiększonego użycia pamięci.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsAktualizuje pozycję i granice cząsteczek.Zredukuj liczbę ParticleEmitters, wskaźników emisji, żywotności itp. Ogranicz ruch emitterów.
Scene/Id_Opaque, RenderView/Id_OpaqueElementy w scenie z ogólną przezroczystością 0.01 lub niższą.Zredukuj użycie i gęstość części.
Scene/Id_Transparent, RenderView/Id_TransparentElementy w scenie z ogólną przezroczystością pomiędzy 0.01 a 1.Zredukuj użycie częściowej przezroczystości.
Scene/Id_Decals, RenderView/Id_DecalsDecal na scenie.Zredukuj użycie decal na skomplikowanych siatkach.
Scene/CienieRekalibracja cieni w scenie, zazwyczaj wykonywana w dynamicznych scenach i typowej rozgrywce. Części niezależnie od przezroczystości rzucają cienie pod warunkiem, że zawierają decal. Nie wykonywane przy poziomach jakości poniżej 4.Jeśli ten krok zajmuje zbyt długo, rozważ wyłączenie BasePart.CastShadow dla skomplikowanych siatek, części z wysoką częściową przezroczystością i mniej istotnych instancji. Całkowicie przezroczyste części, które nie mają decal ani nie potrzebują cieni z decal, powinny mieć wyłączone BasePart.CastShadow. Zobacz Popraw wydajność.
Perform/PresentPrzekazuje do wątku GPU w celu wykonania poleceń renderowania.Zredukuj złożoność sceny ogólnie. Jeśli ten krok zajmuje dużo czasu, możesz być ograniczony przez GPU.
Perform/Present/waitUntilCompletedczeka, aż GPU zakończy renderowanie poprzedniej klatki.Jeśli to zjawisko występuje często, to ilość renderowanych rzeczy jest zbyt wysoka. Menedżer liczby klatek pomaga w równoważeniu tego, ale jeśli pozostaje wysokie, spróbuj zastosować porady wydajnościowe z poszczególnych tagów Scene.
LoadImagePrzetwarza obrazy na format, który silnik może wykorzystać.Zredukuj użycie dużych obrazów.

Skrypty

EtykietaOpisPorady dotyczące wydajności
Render/PreRender/fireBindToRenderSteppedCallbacksUruchamia funkcje powiązane z krokiem renderowania za pomocą RunService:BindToRenderStep().Upewnij się, że funkcje połączone z tym wydarzeniem wykonują jak najmniej pracy.
Render/PreRender/RunService.RenderSteppedUruchamia funkcje powiązane z wydarzeniem RunService.RenderStepped.Upewnij się, że funkcje połączone z tym wydarzeniem wykonują jak najmniej pracy.
WaitingHybridScriptJobWznawia skrypty czekające na Instance:WaitForChild() lub Globals.Roblox.wait(). Zazwyczaj wykonywane 30 razy na sekundę. Ten krok ma budżet czasu wykonania do uruchomienia oczekujących skryptów.Jeśli masz zbyt wiele oczekujących skryptów lub skryptów z długim czasem wykonywania przed oddaniem, ten krok jest ograniczany i czeka dłużej, zanim będzie mógł się ponownie uruchomić. Zredukuj liczbę powiązanych funkcji lub długich obliczeń w tym kroku.
GCCykle garbage collection Luau.Agreguj tabele i inne obiekty do kolekcji lub spróbuj ograniczyć tworzenie tymczasowych tabel.
Heartbeat/RunService.HeartbeatUruchamia funkcje połączone z wydarzeniem RunService.Heartbeat.Zredukuj liczbę lub obciążenie funkcji połączonych z tym wydarzeniem. Rozważ opóźnienie lub zastąpienie kosztownych kalkulacji lub rozłożenie obliczeń na wiele klatek.

Symulacja

EtykietaOpisPorady dotyczące wydajności
Własność fizyki rozproszonejOkreśla, czy serwer lub klient ma władzę nad niektórymi instancjami, takimi jak części.Zredukuj liczbę części, które często zmieniają własność sieciową, zwłaszcza te z częstą interakcją.
Symulacja/assembleAktualizuje drzewo powiązanych obiektów (zespół) używanych przez silnik fizyczny.Zredukuj liczbę stawów, które są tworzone lub niszczone.
Symulacja/physicsSteppedTotal/physicsSteppedUruchamia symulację fizyki.Zredukuj ilość i złożoność ciał fizycznie symulowanych.
Symulacja/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepAktualizuje wyspy symulacji, układając części według własności sieciowych, lokalnej symulacji. Wyspy to nieinteraktywne grupy części, które mogą być symulowane niezależnie.Unikaj częstego ustawiania własności sieciowych. Utrzymuj grupy części wystarczająco daleko od siebie, aby mogły być symulowane oddzielnie.
Symulacja/physicsSteppedTotal/physicsStepped/worldStep/stepContactsAktualizuje kontakty między obiektami.Zredukuj liczbę ciał kolidujących jednocześnie lub użyj prostszych pudełek kolizyjnych. Sześciany są lepsze niż złożone siatki.
Symulacja/physicsSteppedTotal/physicsStepped/worldStep/stepWorld LUB stepWorldThrottledRozwiązuje równania fizyczne związane z połączeniami, wypornością i Humanoids. Gdy silnik jest przeciążony i nie może symulować wszystkiego w czasie rzeczywistym, niektóre kroki mogą być ograniczane (stepWorldThrottled) i tylko "real-time assemblies" takie jak Humanoids są symulowane.Zależy od tego, gdzie czas się spędza, na podstawie trzech następujących etapów: stepContacts: wykrywanie kolizji w wąskiej fazie geometrycznych testów. Solver step: integruj czas i rozwiązuj kolizje oraz inne ograniczenia updateBroadphase: aktualizuj pozycje zespołów w systemie wykrywania kolizji i znajdź potencjalnie kolidujące pary w wąskiej fazie.
notifyMovingAssembliesPomaga śledzić, jak długo prymitywy były w stanie uśpienia.
Symulacja/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesInterpoluje zespoły, którymi nie steruje obecny gracz.Ustaw właściciela sieci części na aktualnego gracza, aby to zmniejszyć; chociaż to zazwyczaj spowoduje wykonanie większej ilości pracy fizycznej w innym miejscu.
Symulacja/handleFallenPartsUsuwa części, które spadły poniżej Workspace.FallenPartsDestroyHeight.Obniż wysokość niszczenia lub zmniejsz liczbę części, które spadają do wysokości niszczenia.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingDruga część notifyMovingAssemblies.
Heartbeat/RunService.HeartbeatUruchamia funkcje połączone z wydarzeniem RunService.Heartbeat do symulacji i kontaktów skryptów. Aktualny opis jest wystarczająco ogólny, aby nie był błędny.Zredukuj ilość lub obciążenie funkcji połączonych z RunService.Heartbeat.
worldStep/stepContactsPomaga symulacji fizycznej ocenić wiele kontaktów jednocześnie.Zredukuj liczbę kolidujących obiektów.
SolveBatchPomaga symulacji fizycznej rozwiązywać partie ruchu obiektów.

UI

EtykietaOpisPorady dotyczące wydajności
Render/PreRender/UpdateInputAktualizuje i wyzwala wszystkie związane z użytkownikiem zdarzenia związane z wprowadzaniem, jeśli użytkownik dokonał wprowadzenia od ostatniej klatki.Staraj się nie wykonywać zbyt wiele pracy bezpośrednio podczas otrzymywania danych wejściowych. Uważaj, aby wprowadzenie przetwarzać minimalnie, a większe obliczenia powinny być przesunięte na inny wątek, który wydarzy się później.
Render/PreRender/TweenServiceAktualizuje obiekty poddawane tweeningowi za pomocą TweenService i wywołuje wywołania zwrotne po ukończeniu, takie jak te, które są dostarczane do GuiObject:TweenSize() lub GuiObject:TweenPosition().Zredukuj liczbę obiektów poddawanych tweeningowi za pomocą TweenService i upewnij się, że wywołania zwrotne wykonują jak najmniej pracy.
Heartbeat/TweenServiceNa serwerze TweenService działa w RunService.Heartbeat zamiast RunService.PreRender.Zredukuj liczbę obiektów poddawanych tweeningowi za pomocą TweenService i upewnij się, że wywołania zwrotne wykonują jak najmniej pracy.
Render/PreRender/UpdateUILayoutsAktualizuje pozycję i rozmiar dla elementów UI na wszystkich włączonych LayerCollectors.Zobacz etykiety UpdateUILayouts poniżej.
Render/PreRender/UpdateUILayouts/Rebuild Z-order listSortuje Z-order elementów UI (wewnętrzny termin, który nie może być mylony z GuiObject.ZIndex) w celu zapobieżenia rozdzieraniu elementów UI.Zredukuj liczbę elementów UI o tej samej wartości GuiObject.ZIndex.
Render/PreRender/UpdateUILayouts/Layout

Aktualizuje pozycję i rozmiar dla elementów UI w indywidualnym LayerCollector. Może zawierać etykietę z informacjami o odpowiednim UI, oraz liczbę Relayoutów, Aktualizacji i Rozmiarów.

Zredukuj liczbę elementów UI, które są zmieniane rozmiar lub położenie, takich jak te zarządzane przez UILayout, oraz te tweenowane za pomocą TweenService, GuiObject:TweenSize() lub GuiObject:TweenPosition(). Rozważ użycie stałych rozmiarów dla BillboardGuis.
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.