Mikroprofilierungsrundgang

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

Dieser Leitfaden zeigt, wie man den MicroProfiler verwendet, um einen problematischen Aspekt eines Erlebnisses zu finden und die Ursache zu identifizieren.Laden Sie das Erlebnis herunter, Öffnen aus Datei in Studio und folgen Sie.


Identifiziere das Problem

  1. Nachdem du das Erlebnis in Studio geöffnet hast, starte die Tests mit F5 oder der Spiel Schaltfläche.

  2. Die Bildrate fühlt sich anständig an, ist aber nicht so glatt, wie es für ein Erlebnis dieser Größe und Reichweite sein sollte.Navigiere zur Ansicht -Registerkarte und klicke auf Zusammenfassung unter Statistiken.

    Debug stats summary showing 45 FPS.

    Beachten Sie, dass die Bildrate unter 60 Bildern pro Sekunde (Ego-Shooter) liegt.

  3. Öffne den MicroProfiler, indem du CtrlAltF6 (F6 ) drückst.

    The MicroProfiler after opening it.

    Beachten Sie, dass die Rahmenzeiten konsistent sind — die Balken haben ungefähr die gleiche Höhe—so ist alles, was die niedrige Rahmenrate verursacht, jeden einzelnen Frame läuft, anstatt gelegentlich zu laufen und Rahmenzeitspitzen zu verursachen.

  4. Pause den Mikroprofiler, indem du CtrlP ( P ) drückst.Pausieren mit der Tastaturkürzel öffnet detaillierten Modus.

  5. Klicke und ziehe, um die Grafik zu verschieben.Beachten Sie, wie eine bestimmte Aufgabe in den Arbeiter Threads viel Verarbeitungszeit im Vergleich zum Hauptthread zu verwenden scheint.Bewegen Sie den Mauszeiger über RunService.Stepped und beachten Sie, wie lange es dauert, bis es rendernwird.

    Detailed mode with long labels for processes.
  6. Gestapelte Balken in der Zeitachse zeigen eine Hierarchie von Codesan, also halte dich weiter auf den niedrigeren und niedrigeren Ebenen, um das Problem zu identifizieren.

    On-hover details for various processes, with LocalScript highlighted. On-hover details for various processes, with Raycast highlighted.

    Beachten Sie das Beschriftung, das den Namen des Skript, das. PL: die Skriptsanzeigt, und das Beschriftung, das anzeigt, dass das Problem möglicherweise mit Raycasting zusammenhängt.

Erstelle Fehlersuche-Etiketten

Jetzt, da der MicroProfiler einen Ausgangspunkt bereitgestellt hat, kannst du das problematische Codeslösen.

  1. Stoppe den Spieltest und filtere das Explorer-Fenster für localscript, um die Datei zu finden.

    A view of filtering in the Explorer window.

    Eine Suche nach raycast zeigt an, dass dieser Teil des Codes wahrscheinlich der Übeltäter für die schlechte Erfüllungdes Erlebnisses 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)

    Speziell kannst du sehen, dass der Code 1.500 Strahlen pro Sekunde in zufälligen Richtungen auswirft.

  2. Um zu überprüfen, dass dieser Teil des Codes die Rendering-Verzögerung verursacht, wickle den Inhalt der Funktion mit debug.profilebegin() und debug.profileend() ein:


    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 Sie das Problem

  1. Starte die Erlebnisund öffne den MicroProfiler erneut.

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

    MicroProfiler detailed view with 'Raycast Spam' visible.
  3. Stoppe den Spieltest.

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

  5. Starte die Erfahrung erneut zum Testen und überprüfe erneut die Debug-Statistiksumme.

    Debug stats summary showing 60 FPS.

    Beachten Sie die enorme Verbesserung der Framerate und der entsprechenden Abnahme der Frametimes auf dem Mikroprofilierungsdiagramm.