Aufgabenplaner

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

Der Aufgabenplaner koordiniert Aufgaben, die in jedem Frame ausgeführt werden, als das Spiel läuft, auch wenn das Spiel angehalten wird. Diese Aufgaben umfassen die Erkennung der Eingabe des Spielers, das Animieren von Charaktern, das Aktualisieren der Physiksimulation und das Wiederaufnahmen von Skripten in einem wait()-Zustand.

Während mehrere Aufgaben ausgeführt werden können, kann der Aufgabenplaner möglicherweise überlastet sein, insbesondere in den folgenden Situationen:

  • Verwenden Sie ein benutzerdefiniertes Charakter-Rig oder einen Eingabenschema.
  • Animationen Sie Teile selbst (statt ein Animator zu verwenden).
  • Abhängig von der genauen Physik.
  • Objekte regelmäßig replizieren.

Rahmen

Ein Rahmen ist eine Einheit der Spiellogik, in der die Arbeit erledigt wird. Jeder Rahmen sollte Aufgaben effizient ausführen, was zu mehr Rahmen pro Sekunde und einer glättenden Erlebnisführt.

RunService

Der direkte Weg, um Spielaufgaben durch Rahmen-by-Rahmen-Spiele zu ergänzen, ist durch die folgenden Mitglieder von RunService :

Scheduler-Priorität

Der Aufgabenplaner kategorisiert und schließt Aufgaben in der folgenden Reihenfolge ab. Einige Aufgaben können keine Arbeit in einem Frame ausführen, während andere mehrere Mal ausgeführt werden können.

Best Practices

Um effiziente, leistungsstarke Spiele aufzubauen, beachten Sie gefolgte Profile:

  • Verbinden/Binden Sie Funktionen nicht mit dem Rendern, es sei denn, es ist absolut notwendig. Nur Aufgaben, die nach dem Eingeben, aber vor dem Rendern, getan werden müssen, sollten in dieser Weise, wie Kamerabewegung, ausgeführt werden, wie Kamerabewegung. Für eine strengere Kontrolle verwenden Sie BindToRenderStep() anstelle von Class.

  • Minimize the amount of waiting scripts. Vermeiden Sie die Verwendung von while wait() do end oder while true

  • Motor6D-Transformierungen sollten auf dem PreSimulation-Ereignis durchgeführt werden. Wenn Sie nicht, wird Animators die Änderungen auf der nächsten Frames überschreiben. Selbst ohne einen Animator sind 0> Class.RunService.