Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Debugger-Panel

Viele der Debugging-Tools von Godot, einschließlich des Debuggers, finden Sie im Debugger-Panel am unteren Bildschirmrand. Klicken Sie auf Debugger um sie zu öffnen.

../../../_images/overview_debugger.webp

Das Debugger-Panel ist in mehrere Tabs unterteilt, die sich jeweils auf eine bestimmte Aufgabe konzentrieren.

Debugger

Das Debugger-Tab wird automatisch geöffnet, wenn der GDScript-Compiler einen Breakpoint in Ihrem Code erreicht.

Sie erhalten ein Stack-Trace,-Informationen über den Zustand des Objekts und Buttons zur Steuerung der Programmausführung. Wenn der Debugger an einem Breakpoint abbricht, wird ein grüner Dreieckspfeil in der Leiste des Skripteditors angezeigt. Dieser Pfeil zeigt die Codezeile an, wo der Debugger abgebrochen hat.

Tipp

Sie können einen Breakpoint erstellen, indem Sie auf die Leiste links im Skript-Editor klicken (links neben den Zeilennummern). Wenn Sie mit dem Mauszeiger über diese Leiste fahren, erscheint ein transparenter roter Punkt, der sich in einen undurchsichtigen roten Punkt verwandelt, nachdem der Breakpoint durch Klicken gesetzt wurde. Klicken Sie erneut auf den roten Punkt, um den Breakpoint zu entfernen. Auf diese Weise erstellte Breakpoints bleiben auch nach einem Neustart des Editors erhalten, selbst wenn das Skript beim Verlassen des Editors nicht gespeichert wurde.

Sie können auch das Breakpoint-Schlüsselwort in GDScript verwenden, um einen Breakpoint zu erzeugen, der im Skript selbst gespeichert wird. Im Gegensatz zu Breakpoints, die durch Klicken auf die linke Leiste erstellt werden, bleibt dieser auf Schlüsselwörtern basierende Breakpoint bei Verwendung der Versionsverwaltung auf verschiedenen Rechnern erhalten.

Sie können die Buttons in der oberen rechten Ecke verwenden, um:

  • Alle Breakpoints überspringen. Auf diese Weise können Sie Breakpoints für zukünftige Debugging-Sitzungen speichern.

  • Kopieren der aktuellen Fehlermeldung.

  • In den Code Hineinspringen. Dieser Button führt Sie zur nächsten Codezeile. Wenn es sich um eine Funktion handelt, wird die Funktion zeilenweise durchlaufen.

  • Den Code Überspringen. Dieser Button wechselt zur nächsten Codezeile, geht jedoch nicht zeilenweise durch die Funktionen.

  • Unterbrechen. Dieser Button unterbricht die Ausführung des Spiels.

  • Fortsetzen. Dieser Button setzt das Spiel nach einem Breakpoint oder einer Pause fort.

Fehler

Hier werden Fehler- und Warnmeldungen ausgegeben, während das Spiel ausgeführt wird.

Sie können bestimmte Warnungen unter Projekteinstellungen> Debug> GDScript deaktivieren.

Profiler

Der Profiler wird verwendet, um zu sehen, welcher Code ausgeführt wird, während Ihr Projekt in Gebrauch ist, und wie sich dies auf die Performance auswirkt.

Siehe auch

Eine ausführliche Erklärung, wie der Profiler verwendet wird, finden Sie auf der Seite Der Profiler.

Visueller Profiler

Der Visual Profiler kann verwendet werden, um zu überwachen, was beim Rendern eines Frames auf der CPU bzw. GPU am meisten Zeit in Anspruch nimmt. Dies ermöglicht das Aufspüren von Quellen potenzieller CPU- und GPU-Bottlenecks, die durch das Rendering verursacht werden.

Warnung

Der Visual Profiler misst nur die CPU-Zeit, die für Rendering-Aufgaben benötigt wird, wie z.B. die Ausführung von Zeichenaufrufen. Der Visual Profiler umfasst nicht die CPU-Zeit, die für andere Aufgaben wie Skripting und Physik benötigt wird. Verwenden Sie die Das Standard-Profiler-Tab, um nicht-renderingbezogene CPU-Aufgaben zu verfolgen.

Um den visuellen Profiler zu verwenden, starten Sie das Projekt, wechseln Sie zum Tab Visueller Profiler im unteren Bereich des Debuggers und klicken Sie dann auf Start:

Der Visual Profiler-Tab, nachdem Sie auf Start geklickt, einige Sekunden gewartet und dann auf Stopp geklickt haben

Der Visual Profiler-Tab, nachdem Sie auf Start geklickt, ein paar Sekunden gewartet und dann auf Stop geklickt haben

Während der Profiler ausgeführt wird, werden Kategorien und Ergebnisse eingeblendet. Außerdem werden Diagrammlinien angezeigt, wobei die linke Seite ein CPU-Framegraph und die rechte Seite ein GPU-Framegraph ist.

Klicken Sie auf Stop, um die Profilerstellung zu beenden, wodurch die Ergebnisse sichtbar bleiben, aber eingefroren werden. Die Ergebnisse bleiben nach dem Anhalten des laufenden Projekts sichtbar, nicht aber nach dem Verlassen des Editors.

Klicken Sie auf die Ergebniskategorien auf der linken Seite, um sie in den CPU- und GPU-Diagrammen auf der rechten Seite hervorzuheben. Sie können auch auf das Diagramm klicken, um den Cursor zu einer bestimmten Bildnummer zu bewegen und den ausgewählten Datentyp in den Ergebniskategorien auf der linken Seite zu markieren.

Sie können die Ergebnisanzeige zwischen einem Zeitwert (in Millisekunden pro Frame) oder einem Prozentsatz der Ziel-Frame-Zeit umschalten (der derzeit auf 16,67 Millisekunden oder 60 FPS fest einkodiert ist).

Wenn während der Profilerstellung Framerate-Spitzen auftreten, kann dies dazu führen, dass das Diagramm schlecht skaliert wird. Deaktivieren Sie Fit to Frame, damit das Diagramm auf den 60 FPS+ Bereich gezoomt wird.

Bemerkung

Denken Sie daran, dass die Ergebnisse des Visual Profilers stark von der Auflösung des Viewports abhängen, die durch die Fenstergröße bestimmt wird, wenn Sie die Modi disabled oder canvas_items stretch modes verwenden.

Wenn Sie die Ergebnisse verschiedener Läufe miteinander vergleichen, achten Sie darauf, dass Sie für alle Läufe die gleiche Ansichtsgröße verwenden.

Visual Profiler wird bei Verwendung jeder Rendering-Methode (Forward+, Mobile oder Kompatibilität) unterstützt, aber die gemeldeten Kategorien hängen von der aktuellen Rendering-Methode und den aktivierten Grafikfunktionen ab. Wenn Sie beispielsweise Forward+ verwenden, werden bei einer einfachen 2D-Szene mit schattenwerfenden Lichtern die folgenden Kategorien angezeigt:

Beispielergebnisse aus einer 2D-Szene im Visual Profiler

Beispielergebnisse aus einer 2D-Szene im Visual Profiler

Um ein weiteres Beispiel mit Forward+ zu geben: Eine 3D-Szene mit schattenwerfenden Lichtern und verschiedenen aktivierten Effekten führt dazu, dass die folgenden Kategorien aktiviert sind:

Beispielergebnisse aus einer 3D-Szene im Visual Profiler

Beispielergebnisse aus einer 3D-Szene im Visual Profiler

Wie Sie sehen, haben im 3D-Beispiel mehrere Kategorien den Zusatz (Parallel) an ihrem Namen. Dies deutet darauf hin, dass mehrere Aufgaben parallel auf der GPU ausgeführt werden. Dies bedeutet im Allgemeinen, dass die Deaktivierung nur einer der beteiligten Funktionen die Performance nicht so stark verbessert wie erwartet, da die andere Aufgabe weiterhin sequentiell ausgeführt werden muss.

Netzwerk-Profiler

Der Netzwerk-Profiler enthält eine Liste aller Nodes, die über die Multiplayer-API kommunizieren, und für jeden Node einige Zähler für die Menge der eingehenden und ausgehenden Netzwerkinteraktionen. Außerdem gibt es einen Bandbreitenmesser, der die gesamte Bandbreitennutzung zu einem bestimmten Zeitpunkt anzeigt.

Bemerkung

Die Bandbreitenmessung berücksichtigt nicht das Kompressionssystem der High-Level-Multiplayer-API. Das bedeutet, dass eine Änderung des verwendeten Kompressionsalgorithmus die von der Bandbreitenanzeige gemeldeten Werte nicht verändert.

Monitore

Die Monitore sind Diagramme verschiedener Aspekte des Spiels, während es ausgeführt wird, wie z.B. FPS, Speichernutzung, Anzahl der Nodes in einer Szene und mehr. Alle Monitore verfolgen die Statistiken automatisch. Selbst wenn ein Monitor während des Spiels nicht geöffnet ist, können Sie ihn später öffnen und sehen, wie sich die Werte geändert haben.

Siehe auch

Zusätzlich zu den Default-Performance-Monitoren können Sie auch Eigene Performance-Monitore erstellen, um beliebige Werte in Ihrem Projekt zu tracken.

Video-RAM

Der Video RAM-Tab zeigt die Video RAM-Nutzung des Spiels während der Ausführung an. Sie enthält eine Liste aller Ressourcen, die Video-RAM verwenden, geordnet nach Ressourcenpfad, dem Ressourcentyp, dem Format und den von dieser Ressource verwendeten Video-RAM. Oben rechts im Panel befindet sich außerdem eine Gesamtzahl der Video-RAM-Auslastung.

../../../_images/video_ram.png

Verschiedenes

Der Verschiedenes-Tab enthält Tools zum Identifizieren der Control-Nodes, auf die Sie zur Laufzeit klicken:

  • Angeklickter Control-Node zeigt an, wo sich der angeklickte Node im Szenenbaum befindet.

  • Typ des angeklickten Control-Nodes gibt den Typ des angeklickten Nodes an.