Der Aufgabenplaner koordiniert Aufgaben, die jeden Frame ausgeführt werden, während das Spiel läuft, auch wenn das Spiel unterbrochen wird.Diese Aufgaben umfassen die Erkennung der Eingabe eines Spielers, die Animation von Charakteren, die Aktualisierung der Physiksimulation und den Wiederaufruf von Skripten in einem task.wait() Zustand.
Während es möglicherweise mehrere laufende Aufgaben geben kann, kann der Aufgabenplaner möglicherweise überlastet werden, insbesondere in den folgenden Situationen:
- Verwendung eines benutzerdefinierten Charakter-Rigs oder Eingabeschemata.
- Animiere Teile selbst (anstatt einen Animator zu verwenden).
- Abhängig stark von der präzisen Physik.
- Objekte regelmäßig replizieren.
Rahmen
Ein Frame ist eine Einheit der Spiellogik, in der Arbeit erledigt wird.Jeder Frame sollte Aufgaben effizient ausführen, was zu mehr Frames pro Sekunde und einer glatteren Erlebnisführt.
LaufService
Die direkteste Möglichkeit, Frame-by-Frame-Spielaufgaben hinzuzufügen, ist durch die folgenden Mitglieder von RunService :
Zeitplanpriorität
Der Aufgabenplaner kategorisiert und erledigt Aufgaben in der folgenden Reihenfolge.Einige Aufgaben können keine Arbeit in einem Rahmen ausführen, während andere mehrere Male ausgeführt werden können.

Best Practices
Um effiziente Spiele mit dem Blick auf die Effizienz zu bauen, beachten Sie gefolgte Profile:
Verbinde/binde Funktionen nicht mit dem Render-Schritt, es sei denn, es ist absolut notwendig.: Nur Aufgaben, die nach der Eingabe, aber vor der Darstellung erledigt werden müssen, sollten auf diese Weise erledigt werden, wie die Kamerabewegung.Für eine strengere Kontrolle über Bestellungen verwende BindToRenderStep() anstelle von PreRender.
Verwalten Sie physische Zustände sorgfältig.: PreSimulation passiert vor Physik, während PostSimulation nach Physik passiert.Daher sollte die Spiellogik, die den Physikzustand beeinflusst, in PreSimulation ausgeführt werden, wie das Festlegen der Velocity von Teilen.Im Gegensatz dazu sollte die Spiellogik, die auf die Physikzustandsabhängigkeit angewiesen ist oder darauf reagiert, in PostSimulation behandelt werden, z. B. die Lektüre des Position von Teilen, um zu erkennen, wann sie definierte Zonen betreten.
Motor6D-Transformierungsänderungen sollten auf dem Präsimulationsereignis durchgeführt werden.: Wenn du das nicht tust, Animators überschreibt Änderungen auf dem nächsten Frame.Selbst ohne ein Animator , PreSimulation ist das letzte Luau-Ereignis, das abgefeuert wird, bevor Motor6D.Transform auf Teilpositionen angewendet wird.