Odniesienie do 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ż nazywane zadaniami, timerami, zakresem, procesami i etykietami. 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 snu, z tagami wskazującymi, jak długo wątek był w stanie snu. W danym momencie jest niezwykle powszechne, że większość wątków roboczych znajduje się w stanie snu.

Nawigacja

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

Oblicza ścieżki, zazwyczaj po rasterizeTile.

Zmniejsz liczbę i rozmiary świata wywołań Path:ComputeAsync(). Spróbuj ponownie używać ścieżek dla wielu agentów, jeśli oczekuje się, że będą zaczynać/kończyć w mniej więcej podobnych lokalizacjach.
preprocess/getPrimitivesOverlappingZbiera geometrię świata dla każdego kafelka nawigacyjnego i planuje zadania rasteryzacji do wykonania przez wątek nawigacji.Zmniejsz 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.Zmniejsz 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ędą postępować w aktualnie odtwarzanych animacjach.Zmniejsz 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.Zmniejsz 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.

Dźwięk

EtykietaOpisPorady dotyczące wydajności
DźwiękPrzetwarza symulację akustyczną i aktualizuje dźwięki w aktywnej odtwarzaniu.Zobacz etykiety Dźwięk poniżej.
Dźwięk/stepInstancesAktualizuje głośność aktywnych dźwięków w przestrzeni roboczej.Zmniejsz liczbę dźwięków w aktywnej 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.Zmniejsz liczbę lub rozmiar replikowanych obiektów, lub rób to w krokach przyrostowych. Może wzrosnąć, jeśli rozmiar mapy wzrośnie, ponieważ większe mapy mają tendencję do większej ogólnej aktywności.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersWysyła dane o aktywności w grze.Zmniejsz liczbę poruszających się obiektów i/lub dotknięć. Zobacz następne sekcje.
Allocate Bandwidth and Run Senders/Dispatch StreamJobWysyła odpowiednie konkretne obszary do konkretnych klientów w funkcji strumieniowania.Zmniejsz minimalne i docelowe promienie strumieniowania.
Allocate Bandwidth and Run Senders/Dispatch Data SendersWysyła zmiany właściwości, wywołania zdalnych zdarzeń, zmiany stanu Humanoid, zmiany stanu animacji oraz replikację nowych instancji.Zmniejsz liczbę replikowanych zmian w modelu danych.
Replicator SendClusterWysyła dane Terrain do klientów.Zmniejsz liczbę lub rozmiar zmian terenu.
ModelCompleteness Mega JobTylko serwer: kompletność to wewnętrzna koncepcja. Gdy modele są całkowicie wysyłane, wysyłane są zdarzenia kompletności modeli.Dodaj lub usuń mniej instancji.
deserializePacketPrzetwarzanie pakietów sieciowych na niskim poziomie. Przygotowuje do Replicator/ProcessPackets.Wysyłaj mniej lub mniejsze aktualizacje.

Renderowanie

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/Pass3dAdornObsługuje renderowanie różnych ozdób obiektów, takich jak etykiety tekstowe nad obiektami. Dla etykiet Humanoid z okluzją, ten krok obejmuje raycasting, aby określić, czy takie obiekty są widoczne. Obejmuje to nieprzezroczyste części, aby ułatwić wizualizacje debugowania.Zmniejsz liczbę widocznych ozdobionych obiektów, takich jak BillboardGuis, etykiety imienia/zdrowia Humanoid itp. Zmniejsz liczbę widocznych części.
Prepare/Pass2dPrzygotowuje renderowanie UI 2D (zarówno gracza, jak i UI Roblox).Zmniejsz liczbę lub złożoność elementów UI.
Prepare/UpdatePrepare/updateInvalidPartsAktualizuje części, które miały zmienioną lub dodaną właściwość.Zmniejsz liczbę zmian właściwości w świecie. Jeśli skrypt aktualizuje dużą liczbę właściwości obiektów, rozłóż to na klatki.
Prepare/UpdatePrepare/updateInvalidatedFastClustersPrzygotowuje geometrie "FastCluster" używane do renderowania Humanoids oraz skórzonych MeshParts. Etykiety określają liczbę części, wierzchołków i rozmiar wierzchołków.Zmniejsz wizualne zmiany w modelach z Humanoids lub skórzonych MeshParts.
Prepare/UpdatePrepare/updateDynamicPartsPrzygotowuje Beams, ParticleEmitters i Humanoids do renderowania.Zmniejsz liczbę widocznych Beams, ParticleEmitters i Humanoids.
Prepare/UpdatePrepare/updateInstancedClustersAktualizuje geometrię, która używa renderowania instancji, taką jak części. Etykiety Clusters i Instances wskazują liczbę zaktualizowanych.Zmniejsz pracę, która niejawnie aktualizuje obszar ograniczający 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 bufory wierzchołkami UI, aby przygotować się do renderowania. Etykieta gui count wskazuje liczbę LayerCollectors widocznych w klatce.Jeśli koszt jest wysoki, zmniejsz liczbę, gęstość i zajmowaną przestrzeń przez elementy UI. Jeśli jest zbyt wiele etykiet Process GuiEffect, rozważ zmniejszenie użycia UIGradient i UICorner na etykietach tekstowych.
Perform/Scene/queryFrustumOrderedStosuje culling 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 jedna siatka ma więcej szczegółów w porównaniu do wielu małych pojedynczych 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 na ponowne obliczenie oświetlenia.
Perform/Scene/computeLightingPerform/LightGridCPUAktualizuje oświetlenie wokselowe, które jest używane na niższych poziomach jakości.Jeśli aktualizacja zajmuje zbyt dużo czasu, rozważ użycie geometrii o niższej rozdzielczości, zmniejszenie liczby części lub zakotwiczenie części. Jeśli inne etykiety zajmują zbyt dużo czasu, rozważ zmniejszenie liczby świateł i użycie geometrii, która nie rzuca cienia dla obiektów, które się poruszają i unieważniają zajętość.
Perform/Scene/computeLightingPerform/ShadowMapSystemAktualizuje mapy cieni. Nie wykonywane na poziomach jakości poniżej 4.Zmniejsz liczbę świateł. Możesz również użyć Light.Shadows i BasePart.CastShadow, aby wyłączyć rzucanie cienia na mniej ważnych instancjach. Zobacz Popraw wydajność.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO, and SSAOApplyRenderowanie post-processingu.Zmniejsz liczbę efektów post-processingu. Zazwyczaj nie jest to znaczące.
Perform/Scene/UIRenderowanie UI. W Id_Screen znajduje się etykieta z liczbą partii, materiałów i trójkątów używanych.Zmniejsz liczbę widocznych elementów UI. Użycie CanvasGroups może pomóc kosztem zwiększonego użycia pamięci.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsAktualizuje pozycję i granice cząstek.Zmniejsz liczbę ParticleEmitters, wskaźników emisji, czasów życia itp. Ogranicz ruch emitentów.
Scene/Id_Opaque, RenderView/Id_OpaqueCzęści w scenie z ogólną przezroczystością 0.01 lub niższą.Zmniejsz użycie i gęstość części.
Scene/Id_Transparent, RenderView/Id_TransparentCzęści w scenie z ogólną przezroczystością między 0.01 a 1.Zmniejsz użycie częściowej przezroczystości.
Scene/Id_Decals, RenderView/Id_DecalsDecale w scenie.Zmniejsz użycie decalów na złożonych siatkach.
Scene/ShadowsPrzeliczenie cieni w scenie, zazwyczaj wykonywane w dynamicznych scenach i typowej rozgrywce. Części, niezależnie od przezroczystości, rzucają cienie pod założeniem, że zawierają deale. Nie wykonywane na poziomach jakości poniżej 4.Jeśli ten krok zajmuje zbyt dużo czasu, rozważ wyłączenie BasePart.CastShadow dla złożonych siatek, części z wysoką częściową przezroczystością i mniej ważnych instancji. Całkowicie przezroczyste części, które nie mają decalów lub nie potrzebują cieni decalów, powinny mieć wyłączone BasePart.CastShadow. Zobacz Popraw wydajność.
Perform/PresentPrzekazuje do wątku GPU, aby wykonać polecenia renderowania.Ogólnie zmniejsz złożoność sceny. Jeśli ten krok zajmuje dużo czasu, możesz być ograniczony przez GPU.
Perform/Present/waitUntilCompletedOczekuje na zakończenie renderowania poprzedniej klatki przez GPU.Jeśli to się często zdarza, to liczba renderowanych rzeczy jest zbyt wysoka. Menedżer liczby klatek pomaga w zrównoważeniu tego, ale jeśli pozostaje wysoka, spróbuj zastosować porady dotyczące wydajności z poszczególnych etykiet Scene.
LoadImagePrzetwarza obrazy na format, który może być użyty przez silnik.Zmniejsz użycie dużych obrazów.

Skrypty

EtykietaOpisPorady dotyczące wydajności
Render/PreRender/fireBindToRenderSteppedCallbacksUruchamianie funkcji powiązanych 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 połączone 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 na uruchomienie czekających skryptów.Jeśli masz zbyt wiele czekają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ć. Zmniejsz liczbę powiązanych funkcji lub długich obliczeń w tym kroku.
GCCykle zbierania śmieci Luau.Pooluj tabele i inne obiekty do zbierania lub spróbuj zmniejszyć tworzenie tymczasowych tabel.
Heartbeat/RunService.HeartbeatUruchamia funkcje połączone z wydarzeniem RunService.Heartbeat.Zmniejsz 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.

Symulacja

EtykietaOpisPorady dotyczące wydajności
Distributed Physics OwnershipOkreśla, czy serwer czy klient ma władzę nad niektórymi instancjami, takimi jak części.Zmniejsz liczbę części, które często zmieniają własność sieciową, szczególnie tych z powszechną interakcją.
Symulacja/assembleAktualizuje drzewo połączonych obiektów (zestawów) używanych przez silnik fizyczny.Zmniejsz liczbę stawów tworzonych lub niszczonych.
Symulacja/physicsSteppedTotal/physicsSteppedUruchamia symulację fizyki.Zmniejsz liczbę i złożoność fizycznie symulowanych ciał.
Symulacja/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepAktualizuje wyspy symulacyjne, układając części zgodnie z własnością sieciową, lokalną symulacją. Wyspy to nieinteraktywne grupy części, które mogą być symulowane niezależnie.Unikaj częstego ustawiania własności sieciowej. Utrzymuj grupy części wystarczająco daleko od siebie, aby mogły być symulowane osobno.
Symulacja/physicsSteppedTotal/physicsStepped/worldStep/stepContactsAktualizuje kontakty między obiektami.Zmniejsz 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 fizyki związane z łącznikami, wypornością i Humanoids. Gdy silnik jest przeciążony i nie jest w stanie 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 jest tracony na podstawie trzech następujących faz: stepContacts: testy geometrii detekcji kolizji w wąskim zakresie. Solver step: integracja czasu i rozwiązywanie kolizji oraz innych ograniczeń updateBroadphase: aktualizacja pozycji zestawów w systemie detekcji kolizji i znajdowanie potencjalnie kolidujących par w wąskim zakresie.
notifyMovingAssembliesPomaga śledzić, jak długo prymitywy były w stanie snu.
Symulacja/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesInterpoluje zestawy, którymi nie steruje aktualny gracz.Ustaw właściciela sieci części na aktualnego gracza, aby to zmniejszyć; chociaż zazwyczaj spowoduje to większą pracę fizyczną w innym miejscu.
Symulacja/handleFallenPartsUsuwa części, które spadły poniżej Workspace.FallenPartsDestroyHeight.Obniż wysokość zniszczenia lub zmniejsz liczbę części, które spadają do wysokości zniszczenia.
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 na tyle ogólny, że nie jest błędny.Zmniejsz liczbę lub obciążenie funkcji połączonych z RunService.Heartbeat.
worldStep/stepContactsPomaga symulacji fizyki w kroku wielu kontaktów jednocześnie.Zmniejsz liczbę kolidujących obiektów.
SolveBatchPomaga symulacji fizyki rozwiązywać partie ruchu obiektów.

UI

EtykietaOpisPorady dotyczące wydajności
Render/PreRender/UpdateInputAktualizuje i wywołuje wszystkie zdarzenia związane z wejściem użytkownika, jeśli użytkownik wykonał wejście od ostatniej klatki.Staraj się nie wykonywać zbyt wiele pracy bezpośrednio podczas uzyskiwania wejścia. Rozważ wykonanie minimalnej ilości przetwarzania dla wejścia, a większe obliczenia powinny być przesunięte do innego wątku, który następuje później.
Render/PreRender/TweenServiceAktualizuje obiekty, które są tweenowane za pomocą TweenService i wywołuje wywołania zwrotne zakończenia, takie jak te używane w GuiObject:TweenSize() lub GuiObject:TweenPosition().Zmniejsz liczbę obiektów tweenowanych 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.Zmniejsz liczbę obiektów tweenowanych 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 listPrzebudowuje wewnętrzną listę Z-order elementów UI (nie mylić z GuiObject.ZIndex) w LayerCollector przy pierwszym renderowaniu lub gdy nowy element jest dodawany, usuwany lub zmienia się jego GuiObject.ZIndex.Zmniejsz liczbę elementów UI w LayerCollectors przed pierwszym renderowaniem i unikaj częstego zmieniania rodzica oraz GuiObject.ZIndex elementów UI wewnątrz nich. Im więcej elementów ma LayerCollector, tym gorzej działa.
Render/PreRender/UpdateUILayouts/Layout

Aktualizuje pozycję i rozmiar dla elementów UI w pojedynczym LayerCollector. Może zawierać etykietę z informacjami o odpowiednim UI, wraz z ilością Relayoutów, Aktualizacji i Zmian rozmiaru.

Zmniejsz liczbę elementów UI, które są zmieniane rozmiar lub przestawiane, takich jak te zarządzane przez UILayout i 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.