MicroProfiler-Handbuch

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

Dieses Handbuch zeigt, wie Sie den MicroProfiler verwenden, um einen problematischen Aspekt eines Spiels zu finden und die Ursachen zu identifizieren. Laden Sie das Spiel herunter, Öffnen Sie aus Datei im Studio und folgen Sie mit.


Identifizieren Sie das Problem

  1. Nachdem Sie das Spiel im Studio geöffnet haben, beginnen Sie mit dem Testen, indem Sie F5 oder die Spiel-Schaltfläche drücken.

  2. Die Bildrate fühlt sich anständig an, ist aber nicht so flüssig, wie sie bei einem Spiel dieser Größe und Reichweite sein sollte. Drücken Sie CtrlShiftF5 (ShiftF5), um das Overlay Leistungsübersicht anzuzeigen.

    Leistungsübersicht zeigt 45 FPS.

    Beachten Sie, dass die Bildrate unter 60 Bilder pro Sekunde (FPS) liegt.

  3. Öffnen Sie den MicroProfiler, indem Sie CtrlAltF6 (F6) drücken.

    Der MicroProfiler nach dem Öffnen.

    Beachten Sie, dass die Bildzeiten konsistent sind – die Balken haben ungefähr die gleiche Höhe – sodass alles, was die niedrige Bildrate verursacht, bei jedem einzelnen Frame läuft und nicht gelegentlich und damit Framezeit-Spitzen verursacht.

  4. Pausieren Sie den MicroProfiler, indem Sie CtrlP (P) drücken. Pausieren mit der Tastenkombination öffnet den detaillierten Modus.

  5. Klicken und ziehen Sie, um das Diagramm zu verschieben. Beachten Sie, wie eine bestimmte Aufgabe in den Worker-Threads im Vergleich zum Hauptthread viel Verarbeitungszeit zu beanspruchen scheint. Bewegen Sie den Mauszeiger über RunService.Stepped und beachten Sie, wie lange es dauert, es zu rendern.

    Detaillierter Modus mit langen Bezeichnungen für Prozesse.
  6. Gestapelte Balken in der Zeitlinie zeigen eine Hierarchie des Codes an, also fahren Sie mit der Maus über immer tiefere Schichten, um zu versuchen, das Problem zu identifizieren.

    Details bei Hover für verschiedene Prozesse, mit LocalScript hervorgehoben. Details bei Hover für verschiedene Prozesse, mit Raycast hervorgehoben.

    Beachten Sie das Label LocalScript, das den Namen des Skripts angibt, und das Label Raycast, das darauf hinweist, dass das Problem möglicherweise mit Raycasting zusammenhängt.

Erstellen von Fehlersuche-Labels

Jetzt, da der MicroProfiler einen Ausgangspunkt gegeben hat, können Sie den problematischen Code beheben.

  1. Stoppen Sie den Spieltest und filtern Sie das Explorer-Fenster nach localscript, um die Datei zu finden.

    Eine Ansicht der Filterung im Explorer-Fenster.

    Eine Suche nach raycast zeigt, dass dieser Codeabschnitt wahrscheinlich der Schuldige für die schlechte Leistung des Spiels ist:


    local RAYS_PER_SECOND = 1500
    local function onStepped()
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    end
    RunService.Stepped:Connect(onStepped)

    Insbesondere sehen Sie, dass der Code 1.500 Strahlen pro Sekunde in zufälligen Richtungen aussendet.

  2. Um zu überprüfen, ob dieser Codeabschnitt die Renderverzögerung verursacht, umhüllen Sie den Inhalt der Funktion mit debug.profilebegin() und debug.profileend():


    local function onStepped()
    debug.profilebegin("Raycast Spam")
    for _ = 1, RAYS_PER_SECOND do
    local startPosition = getRandomPosition()
    local endPosition = getRandomPosition()
    local direction = endPosition - startPosition
    Workspace:Raycast(
    startPosition,
    endPosition
    )
    end
    debug.profileend()
    end

Bestätigen und Beheben des Problems

  1. Beginnen Sie mit dem Test des Spiels und öffnen Sie den MicroProfiler erneut.

  2. Beachten Sie, wie der MicroProfiler jetzt das benutzerdefinierte Label anzeigt, was darauf hinweist, dass diese Funktion tatsächlich die Ursache war.

    MicroProfiler-Detaillansicht mit sichtbarem 'Raycast Spam'.
  3. Stoppen Sie den Spieltest.

  4. Löschen Sie die onStepped()-Funktion und die Verbindung RunService.Stepped:Connect(onStepped) oder kommentieren Sie sie aus.

  5. Beginnen Sie erneut mit dem Test des Spiels und überprüfen Sie erneut die Leistungsübersicht.

    Leistungsübersicht zeigt 60 FPS.

    Beachten Sie die enorme Verbesserung der Bildrate und den entsprechenden Rückgang der Bildzeiten im MicroProfiler-Diagramm.

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