Up to date

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

Performance

Einführung

Godot verfolgt eine ausgewogene Performance-Philosophie. In der Welt der Performance gibt es immer Kompromisse, die darin bestehen, Geschwindigkeit gegen Benutzerfreundlichkeit und Flexibilität einzutauschen. Einige praktische Beispiele hierfür sind:

  • Das effiziente Rendern einer Vielzahl von Objekten ist einfach. Muss jedoch eine besonders aufwändige Szene gerendert werden, kann es ineffizient werden. Um dies zu lösen, muss vor dem Rendering eine Berechnung der sichtbaren und damit aktuell relevanten Objekte stattfinden, wodurch das Rendern ineffizienter wird, gleichzeitig jedoch weniger Objekte gezeichnet werden, sodass sich die Effizienz insgesamt verbessert.

  • Auch das Setzen der Propertys jedes Materials für jedes Objekt, das gezeichnet werden muss, ist langsam. Um dieses Problem zu lösen, werden die Objekte nach Material sortiert, um die Kosten zu senken. Gleichzeitig ist die Sortierung mit Kosten verbunden.

  • In 3D-Physik-Berechnungen besteht eine ähnliche Situation. Die besten Algorithmen für die Verarbeitung großer Mengen von Physikobjekten (z.B. SAP) sind beim Einfügen/Entfernen von Objekten und Raycasting vergleichsweise langsam. Im Gegensatz dazu können Algorithmen, die ein schnelleres Einfügen und Entfernen sowie Raycasting ermöglichen, nicht so viele aktive Objekte verarbeiten.

Und es gibt noch viele weitere Beispiele! Die meisten Spiele-Engines bieten ein breites Anwendungsspektrum an, dabei werden ausgewogene Algorithmen den Algorithmen vorgezogen, die in manchen Situationen schnell und in anderen langsam sind, oder Algorithmen, die zwar schnell, jedoch komplizierter zu verwenden sind.

Godot bildet dabei keine Ausnahme. Während es so konzipiert ist, dass die Backends für verschiedene Algorithmen austauschbar sind, haben bei den Default-Backends Ausgewogenheit und Flexibilität Vorrang vor Performance.

Vor diesem Hintergrund soll in diesem Tutorial erklärt werden, wie Sie die maximale Performance von Godot erzielen können. Während die Tutorials in beliebiger Reihenfolge gelesen werden können, ist es eine gute Idee, bei Generelle Optimierungs-Tipps zu beginnen.

Allgemein

CPU

GPU

3D

Threads