Tag-Referenz

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Die folgende Liste enthält gängige Tags im MicroProfiler, gruppiert nach Kategorie. Tags werden auch austauschbar als Aufgaben, Timer, Bereiche, Prozesse und Etiketten bezeichnet. Egal wie sie genannt werden, sie stellen eine Einheit der Arbeit dar.

Das Verständnis dieser Tags kann Ihnen helfen, problematischen Code in Ihrem Spiel zu identifizieren. Die Tabellen enthalten Tag-Etiketten, Beschreibungen und Ratschläge zur Verbesserung der Leistung und Optimierung Ihres Spiels.

Schlaf

Wenn Threads keine aktiven Aufgaben ausführen, befinden sie sich in einem Schlafzustand, mit Tags, die anzeigen, wie lange der Thread geschlafen hat. Zu jedem Zeitpunkt ist es extrem häufig, dass sich die meisten Worker-Threads in einem Schlafzustand befinden.

EtikettBeschreibungLeistungsratschlag
rasterizeTileAktualisiert Navigationskacheln, die für eine Pfadfindungsanfrage benötigt werden, normalerweise gefolgt von computePath, das erfordert, dass diese Kacheln aktuell sind. Folgt NavigationJob/preprocess im Hauptthread.Reduzieren Sie die Anzahl der Ungültigkeiten von Pfadfindungskacheln, da dies dazu führt, dass diese Pfade neu berechnet werden müssen. Dies wird durch Bewegung von nicht navigierbaren Teilen verursacht.
computePath

Berechnet Pfade, typischerweise nach rasterizeTile.

Reduzieren Sie die Anzahl und die räumlichen Ausmaße von Path:ComputeAsync()-Aufrufen. Versuchen Sie, Pfade für mehrere Agenten wiederzuverwenden, wenn sie voraussichtlich von ungefähr ähnlichen Standorten starten/endeten.
preprocess/getPrimitivesOverlappingSammelt die Weltgeometrie für jede Pfadfindungskachel und plant die Rasterisierungsaufgaben, die vom Pfadfindungs-Thread ausgeführt werden sollen.Reduzieren Sie die Anzahl der Teile.

Animation und Humanoiden

EtikettBeschreibungLeistungsratschlag
Simulation/gameSteppedVerarbeitung von spiel spezifischen Objekten wie Humanoids, Animations und Herzschlag-Callbacks.Siehe gameStepped-Etiketten unten.
Simulation/gameStepped/stepHumanoidÄnderungen des Humanoid-Zustands und Bewegung.Reduzieren Sie die Anzahl von Humanoids oder deaktivieren Sie Humanoid-Zustände bei NPCs, die diese nicht benötigen, wie Climbing oder Swimming. Reduzieren Sie Callbacks zu Humanoid.StateChanged oder Zustandsänderungen wie Running oder Died.
Simulation/gameStepped/stepAnimationAnimators werden in den aktuell gespielten Animationen fortschreiten.Reduzieren Sie die Anzahl von Animators oder animierten Gelenken, um die Arbeitslast dieses Schrittes zu verringern. Reduzieren Sie die Anzahl der Callbacks zu Animationsereignissen wie AnimationTrack.KeyframeReached oder AnimationTrack.Ended.
Simulation/gameStepped/RunService.SteppedFührt Funktionen aus, die mit dem RunService.Stepped-Ereignis verbunden sind.Reduzieren Sie die Anzahl oder die Arbeitslast der Funktionen, die mit diesem Ereignis verbunden sind. Ziehen Sie in Betracht, kostspielige Berechnungen zu verzögern oder zu ersetzen oder die Berechnung über mehrere Frames zu verteilen.

Audio

EtikettBeschreibungLeistungsratschlag
SoundVerarbeitet akustische Simulation und aktualisiert Sounds in der aktiven Wiedergabe.Siehe Sound-Etiketten unten.
Sound/stepInstancesAktualisiert die Lautstärke aktiver Sounds im Arbeitsbereich.Reduzieren Sie die Anzahl der Sounds in aktiver Wiedergabe.

Netzwerk

EtikettBeschreibungLeistungsratschlag
Net PacketReceiveErhält Netzwerkpakete. Wenn viele Objekte oder Ereignisse repliziert werden, dauert dieser Schritt länger.Replizieren Sie weniger Objekte oder Ereignisse.
Replicator/ProcessPacketsVerarbeitet Inhalte von Netzwerkpaketen, wie Bewegung, Ereignisauslösungen und Eigenschaftenänderungen.Reduzieren Sie die Anzahl oder Größe der replizierten Objekte oder führen Sie dies in inkrementellen Schritten durch. Kann zunehmen, wenn die Kartengröße zunimmt, da größere Karten dazu neigen, mehr Aktivität insgesamt zu haben.
Allocate Bandwidth and Run Senders/Dispatch Physics Senders and TouchSendersSendet Daten über Aktivitäten im Spiel.Reduzieren Sie die Anzahl von bewegenden Objekten und/oder Berührungen. Siehe die folgenden Abschnitte.
Allocate Bandwidth and Run Senders/Dispatch StreamJobSendet spezifische Regionen an bestimmte Clients in der Streaming-Funktion.Reduzieren Sie die minimalen und zielt Streaming-Radien.
Allocate Bandwidth and Run Senders/Dispatch Data SendersSendet Eigenschaftenänderungen, Remote-Ereignisauslösungen, Humanoid-Zustandsänderungen, Animationszustandsänderungen und die Replikation neuer Instanzen.Reduzieren Sie die Anzahl der replizierten Änderungen am Datenmodell.
Replicator SendClusterSendet Terrain Daten an Clients.Reduzieren Sie die Anzahl oder Größe der Geländeänderungen.
ModelCompleteness Mega JobNur Server: Vollständigkeit ist ein internes Konzept. Wenn Modelle vollständig gesendet wurden, werden Ereignisse zur Modellvollständigkeit gesendet.Fügen Sie weniger Instanzen hinzu oder entfernen Sie diese.
deserializePacketNiedrigstufige Netzwerkpaketverarbeitung. Bereitet auf Replicator/ProcessPackets vor.Sendet weniger oder kleinere Updates.

Rendering

EtikettBeschreibungLeistungsratschlag
PrepareInformationen werden vom Hauptthread gesammelt und aktualisieren verschiedene Datenstrukturen, die für das Rendering verwendet werden.Siehe Prepare-Etiketten unten.
Prepare/Pass3dAdornHandhabt das Rendering verschiedener Objektverzierungen, wie Textetiketten über Objekten. Für Humanoid-Etiketten mit Okklusion umfasst dieser Schritt Raycasting, um zu bestimmen, ob solche Objekte sichtbar sind. Dies umfasst nicht-transparente Teile, um Debug-Visualisierungen zu ermöglichen.Reduzieren Sie die Anzahl sichtbarer verzierter Objekte, wie BillboardGuis, Humanoid-Name-/Gesundheitsetiketten usw. Reduzieren Sie die Anzahl sichtbarer Teile.
Prepare/Pass2dBereitet das 2D-UI-Rendering vor (sowohl Spieler- als auch Roblox-UI).Reduzieren Sie die Menge oder Komplexität der UI-Elemente.
Prepare/UpdatePrepare/updateInvalidPartsAktualisiert Teile, deren Eigenschaft geändert oder hinzugefügt wurde.Reduzieren Sie die Anzahl der Eigenschaftenänderungen in der Welt. Wenn ein Skript eine große Menge an Objekt-Eigenschaftsänderungen aktualisiert, teilen Sie dies auf mehrere Frames auf.
Prepare/UpdatePrepare/updateInvalidatedFastClustersBereitet "FastCluster"-Geometrien vor, die verwendet werden, um Humanoids und skinned MeshParts zu rendern. Labels geben die Anzahl der Teile, Eckpunkte und die Größe der Eckpunkte an.Reduzieren Sie die visuellen Änderungen an Modellen mit Humanoids oder skinned MeshParts.
Prepare/UpdatePrepare/updateDynamicPartsBereitet Beams, ParticleEmitters und Humanoids für das Rendering vor.Reduzieren Sie die Anzahl sichtbarer Beams, ParticleEmitters und Humanoids.
Prepare/UpdatePrepare/updateInstancedClustersAktualisiert Geometrien, die instanziertes Rendering verwenden, wie Teile. Label Clusters und Instances geben die Anzahl der Aktualisierungen an.Reduzieren Sie die Arbeit, die die Grenzen der Teile implizit aktualisiert, wie BasePart.CFrame, BasePart.Size oder Motor6D.Transform. Kreative Eigenschaftenupdates wie Bone.Transform können helfen.
PerformWenn tatsächliche Renderbefehle erstellt und ausgegeben werden.Siehe Perform-Etiketten unten.
Perform/fillGuiVerticesFüllt Puffer mit UI-Eckpunkten zur Vorbereitung auf das Rendering. gui count-Label gibt die Anzahl der in diesem Frame sichtbaren LayerCollectors an.Wenn die Kosten hoch sind, reduzieren Sie die Anzahl, Dichte und den Platz, den UI-Elemente benötigen. Wenn zu viele Process GuiEffect-Etiketten vorhanden sind, ziehen Sie in Betracht, die Verwendung von UIGradient und UICorner bei Textelementen zu reduzieren.
Perform/Scene/queryFrustumOrderedWendet die Frustum-Culling an, sodass nicht sichtbare Objekte nicht gerendert werden.Wenn die Kosten hoch sind, bedeutet das, dass es viele Elemente gibt. Vielleicht sollten größere Meshes verwendet werden, wo ein einzelnes Mesh mehr Details hat, anstelle vieler kleiner Einzelstücke.
Perform/Scene/computeLightingPerformBerechnung der Beleuchtung in der Nähe der Kamera.Manipulieren Sie die Anzahl der Lichtquellen oder bewegen Sie die Kamera weniger, um die Zeit für die Neuberechnung der Beleuchtung zu reduzieren.
Perform/Scene/computeLightingPerform/LightGridCPUAktualisiert die Voxel-Beleuchtung, die auf niedrigeren Qualitätsstufen verwendet wird.Wenn das Aktualisieren der Chunk-Belegung zu lange dauert, ziehen Sie in Betracht, Geometrien mit niedrigerer Auflösung zu verwenden, die Anzahl der Teile zu reduzieren oder Teile zu verankern. Wenn die anderen Etiketten zu lange dauern, ziehen Sie in Betracht, die Anzahl der Lichter zu reduzieren und nicht-schattenwerfende Geometrien für Objekte zu verwenden, die sich bewegen und die Belegung ungültig machen.
Perform/Scene/computeLightingPerform/ShadowMapSystemAktualisiert Schattenkarten. Nicht durchgeführt bei Qualitätsstufen unter 4.Reduzieren Sie die Anzahl der Lichter. Sie können auch Light.Shadows und BasePart.CastShadow verwenden, um das Schattenwerfen bei weniger wichtigen Instanzen zu deaktivieren. Siehe Leistung verbessern.
Perform/Scene/Glow, ColorCorrection, MSAA, SSAO und SSAOApplyPost-Processing-Rendering.Reduzieren Sie die Anzahl der Post-Processing-Effekte. Normalerweise ist dies nicht signifikant.
Perform/Scene/UIUI-Rendering. In Id_Screen gibt es ein Etikett mit der Anzahl der verwendeten Batches, Materialien und Dreiecke.Reduzieren Sie die Anzahl sichtbarer UI-Elemente. Die Verwendung von CanvasGroups kann helfen, auch wenn dies zu einem erhöhten Speicherverbrauch führt.
Perform/Scene/UpdateView/updateParticles, updateParticleBoundingsAktualisiert die Partikelposition und -grenzen.Reduzieren Sie die Anzahl der ParticleEmitters, die Emissionsraten, Lebensdauern usw. Begrenzen Sie die Bewegung von Emittenten.
Scene/Id_Opaque, RenderView/Id_OpaqueTeile in der Szene mit einer Gesamttransparenz von 0.01 oder niedriger.Reduzieren Sie die Verwendung und Dichte von Teilen.
Scene/Id_Transparent, RenderView/Id_TransparentTeile in der Szene mit einer Gesamttransparenz zwischen 0.01 und 1.Reduzieren Sie die Verwendung von Teiltransparenz.
Scene/Id_Decals, RenderView/Id_DecalsDecals in der Szene.Reduzieren Sie die Verwendung von Decals auf komplexen Meshes.
Scene/ShadowsSchattenneuberechnung in der Szene, normalerweise in dynamischen Szenen und typischem Gameplay durchgeführt. Teile unabhängig von der Transparenz werfen Schatten unter der Annahme, dass sie Decals enthalten. Nicht durchgeführt bei Qualitätsstufen unter 4.Wenn dieser Schritt zu lange dauert, ziehen Sie in Betracht, BasePart.CastShadow für komplexe Meshes, Teile mit hoher Teiltransparenz und weniger wichtige Instanzen zu deaktivieren. Vollständig transparente Teile, die keine Decals haben oder keine Dekalschatten benötigen, sollten BasePart.CastShadow deaktiviert haben. Siehe Leistung verbessern.
Perform/PresentLeitet die Befehle an den GPU-Thread weiter, um die Rendering-Befehle auszuführen.Reduzieren Sie die Komplexität der Szene im Allgemeinen. Wenn dieser Schritt lange dauert, sind Sie möglicherweise durch die GPU limitiert.
Perform/Present/waitUntilCompletedWartet darauf, dass die GPU das Rendering des vorherigen Frames abgeschlossen hat.Wenn dies häufig passiert, ist die Anzahl der gerenderten Dinge zu hoch. Der Frame Rate Manager hilft, dies ins Gleichgewicht zu bringen, aber wenn es hoch bleibt, versuchen Sie, die Leistungsratschläge aus den einzelnen Scene-Tags zu befolgen.
LoadImageVerarbeitet Bilder in ein Format, das die Engine verwenden kann.Reduzieren Sie die Verwendung großer Bilder.

Skripte

EtikettBeschreibungLeistungsratschlag
Render/PreRender/fireBindToRenderSteppedCallbacksFührt Funktionen aus, die über RunService:BindToRenderStep() an den Render-Schritt gebunden sind.Stellen Sie sicher, dass die Funktionen, die mit diesem Ereignis verbunden sind, so wenig Arbeit wie möglich leisten.
Render/PreRender/RunService.RenderSteppedFührt Funktionen aus, die mit dem RunService.RenderStepped-Ereignis verbunden sind.Stellen Sie sicher, dass die Funktionen, die mit diesem Ereignis verbunden sind, so wenig Arbeit wie möglich leisten.
WaitingHybridScriptJobSetzt Skripte fort, die auf Instance:WaitForChild() oder Globals.Roblox.wait() warten. Normalerweise 30 Mal pro Sekunde ausgeführt. Dieser Schritt hat ein Zeitbudget für die Ausführung wartender Skripte.Wenn Sie zu viele wartende Skripte oder Skripte mit einer langen Laufzeit vor dem Yield haben, wird dieser Schritt gedrosselt und wartet länger, bevor er wieder ausgeführt werden kann. Reduzieren Sie die Anzahl der gebundenen Funktionen oder langen Berechnungen in diesem Schritt.
GCLuau's Garbage-Collection-Zyklus.Pools von Tabellen und anderen sammelbaren Objekten oder versuchen Sie, die Erstellung temporärer Tabellen zu reduzieren.
Heartbeat/RunService.HeartbeatFührt Funktionen aus, die mit dem RunService.Heartbeat-Ereignis verbunden sind.Reduzieren Sie die Anzahl oder die Arbeitslast der Funktionen, die mit diesem Ereignis verbunden sind. Ziehen Sie in Betracht, kostspielige Berechnungen zu verzögern oder zu ersetzen oder die Berechnung über mehrere Frames zu verteilen.

Simulation

EtikettBeschreibungLeistungsratschlag
Distributed Physics OwnershipBestimmt, ob der Server oder ein Client die Autorität über bestimmte Instanzen wie Teile hat.Reduzieren Sie die Anzahl der Teile, die häufig die Netzwerkzuweisung wechseln, insbesondere solche mit häufiger Interaktion.
Simulation/assembleAktualisiert einen Baum verbundener Objekte (Baugruppen), die von der Physik-Engine verwendet werden.Reduzieren Sie die Anzahl der Gelenke, die erstellt oder zerstört werden.
Simulation/physicsSteppedTotal/physicsSteppedFührt die Physiksimulation aus.Reduzieren Sie die Anzahl und Komplexität der physisch simulierten Körper.
Simulation/physicsSteppedTotal/physicsStepped/SpatialFilter/filterStepAktualisiert Simulationsinseln und arrangiert Teile entsprechend der Netzwerkzuweisung, lokaler Simulation. Inseln sind nicht-interagierende Gruppen von Teilen, die unabhängig simuliert werden können.Vermeiden Sie es, die Netzwerkzuweisung häufig zu ändern. Halten Sie Gruppen von Teilen weit genug voneinander entfernt, damit sie separat simuliert werden können.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepContactsAktualisiert Kontakte zwischen Objekten.Reduzieren Sie die Anzahl der Körper, die gleichzeitig kollidieren, oder verwenden Sie einfachere Kollisionsboxen. Würfel sind besser als komplexe Meshes.
Simulation/physicsSteppedTotal/physicsStepped/worldStep/stepWorld ODER stepWorldThrottledLöst physikalische Gleichungen im Zusammenhang mit Verbindern, Auftrieb und Humanoids. Wenn die Engine überlastet ist und nicht in der Lage ist, alles in Echtzeit zu simulieren, können einige Schritte gedrosselt werden (stepWorldThrottled) und nur "Echtzeitbaugruppen" wie Humanoids werden simuliert.Hängt davon ab, wo die Zeit basierend auf den folgenden drei Phasen vergeht: stepContacts: enge Phasenkollisionserkennung Geometrietests. Solver-Schritt: Zeit integrieren und Kollisionen und andere Einschränkungen lösen. updateBroadphase: Positionen der Baugruppen im Kollisionsdetektionsystem aktualisieren und möglicherweise kollidierende enge Phasenpaare finden.
notifyMovingAssembliesHilft zu verfolgen, wie lange Primitive geschlafen haben.
Simulation/physicsSteppedTotal/physicsStepped/interpolateNetworkedAssembliesInterpoliert Baugruppen, die nicht vom aktuellen Spieler kontrolliert werden.Setzen Sie den Netzwerkbesitzer von Teilen auf den aktuellen Spieler, um dies zu reduzieren; obwohl dies normalerweise mehr physikalische Arbeit an anderer Stelle zur Folge hat.
Simulation/handleFallenPartsEntfernt Teile, die unter Workspace.FallenPartsDestroyHeight gefallen sind.Senken Sie die Zerstörungshöhe oder reduzieren Sie die Anzahl der Teile, die zur Zerstörungshöhe fallen.
Heartbeat/heartbeatInternal/workspaceOnHeartbeat/updateVisuallySleepingZweite Teil von notifyMovingAssemblies.
Heartbeat/RunService.HeartbeatFührt Funktionen aus, die mit dem RunService.Heartbeat-Ereignis verbunden sind, um Simulation und Skripte zu kontaktieren. Die aktuelle Beschreibung ist allgemein genug, um nicht falsch zu sein.Reduzieren Sie die Anzahl oder die Arbeitslast der Funktionen, die mit RunService.Heartbeat verbunden sind.
worldStep/stepContactsHilft der Physiksimulation, viele Kontakte auf einmal zu schritt zu halten.Reduzieren Sie die Anzahl der kollidierenden Objekte.
SolveBatchHilft der Physiksimulation, Batches von Objekten zu lösen.

UI

EtikettBeschreibungLeistungsratschlag
Render/PreRender/UpdateInputAktualisiert und löst alle benutzereingabeverwandten Ereignisse aus, wenn der Benutzer seit dem letzten Frame Eingaben vorgenommen hat.Versuchen Sie nicht, zu viel Arbeit direkt zu leisten, während Sie die Eingabe erhalten. Ziehen Sie in Betracht, eine minimale Menge an Verarbeitung für die Eingabe und größere Berechnungen auf einen anderen Thread zu verschieben, der später stattfindet.
Render/PreRender/TweenServiceAktualisiert Objekte, die mit TweenService getweent werden, und ruft Abschluss-Callbacks auf, wie die, die bei GuiObject:TweenSize() oder GuiObject:TweenPosition() verwendet werden.Reduzieren Sie die Anzahl der Objekte, die mit TweenService getweent werden, und stellen Sie sicher, dass Callbacks so wenig Arbeit wie möglich leisten.
Heartbeat/TweenServiceIm Server läuft TweenService in RunService.Heartbeat, statt in RunService.PreRender.Reduzieren Sie die Anzahl der Objekte, die mit TweenService getweent werden, und stellen Sie sicher, dass Callbacks so wenig Arbeit wie möglich leisten.
Render/PreRender/UpdateUILayoutsAktualisiert Position und Größe für UI-Elemente auf allen aktivierten LayerCollectors.Siehe UpdateUILayouts-Etiketten unten.
Render/PreRender/UpdateUILayouts/Rebuild Z-order listSortiert die Z-Reihenfolge von UI-Elementen (interner Begriff, nicht zu verwechseln mit GuiObject.ZIndex), um Risse in UI-Elementen zu vermeiden.Reduzieren Sie die Anzahl der UI-Elemente mit dem gleichen GuiObject.ZIndex.
Render/PreRender/UpdateUILayouts/Layout

Aktualisiert Position und Größe für UI-Elemente in einem einzelnen LayerCollector. Kann ein Etikett mit Informationen über die relevanten UI enthalten, zusammen mit der Anzahl der Neugestaltungen, Aktualisierungen und Größenänderungen.

Reduzieren Sie die Anzahl der UI-Elemente, die neu resized oder repositioniert werden, wie z.B. solche, die von UILayout verwaltet werden und solche, die mit TweenService, GuiObject:TweenSize() oder GuiObject:TweenPosition() getweent werden. Ziehen Sie in Betracht, feste Größen für BillboardGuis zu verwenden.
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.