Optimierungen

Einführung

Godot folgt einer ausgewogenen Leistungsphilosophie. In der Performance-Welt gibt es immer Kompromisse, die aus Handlungsgeschwindigkeit für Benutzerfreundlichkeit und Flexibilität bestehen. Einige praktische Beispiele hierfür sind:

  • Rendering large amounts of objects efficiently is easy, but when a large scene must be rendered, it can become inefficient. To solve this, visibility computation must be added to the rendering. This makes rendering less efficient, but at the same time, fewer objects are rendered. Therefore, the overall rendering efficiency is improved.

  • Auch die Konfiguration der Eigenschaften jedes Materials für jedes Objekt, das gerendert werden muss, ist langsam. Um dies zu lösen werden Objekte nach Material sortiert, um die Kosten zu senken, aber gleichzeitig hat auch das Sortieren gewisse Kosten.

  • In 3D physics, a similar situation happens. The best algorithms to handle large amounts of physics objects (such as SAP) are slow at insertion/removal of objects and raycasting. Algorithms that allow faster insertion and removal, as well as raycasting, will not be able to handle as many active objects.

Und es gibt noch viele weitere Beispiele! Spiele-Engines sind von Natur aus allgemein einsetzbar, daher werden ausgewogene Algorithmen immer Algorithmen vorgezogen, die in manchen Situationen schnell und in anderen langsam sind, oder Algorithmen, die zwar schnell, aber schwieriger 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 Standard-Backends Ausgewogenheit und Flexibilität Vorrang vor Leistung.

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