# Führen Sie die Simulation in Schritten fester Größe fort.

> Trennen Sie Physikaktualisierungen vom Rendering mit einem festen Simulationsschritt, begrenzter Aufholarbeit und Tests auf Strömungsabrisse und Kollisionen.

- URL: https://oneshotgems.ai/de/topics/fixed-timestep-game-physics
- Kategorie: Für Spieleentwickler
- Typ: Ratgeber
- Aktualisiert: 5. Oktober 2026

Ein Render-Rückruf kann in ungleichmäßigen Abständen eintreffen, aber die Spielphysik verhält sich oft vorhersehbarer, wenn sie in gleichen Simulationsschritten voranschreitet. Ein fester Zeitschritt sorgt dafür, dass jedes Update dieselbe Dauer benötigt, während das Rendern immer dann erfolgen kann, wenn der Browser zum Malen bereit ist. Dies ist eine praktische Implementierungswahl und kein Versprechen eines perfekten Determinismus: Eingabeankunft, Gleitkommaverhalten und Kollisionsregeln sind immer noch wichtig. Verwenden Sie es, wenn stabile Simulationsschritte Ihrer Mechanik helfen, und testen Sie, wie die Schleife nach einem längeren Frame-Stall reagiert.

## Sammeln Sie die verstrichene Zeit und führen Sie begrenzte Aktualisierungen durch

Fügen Sie bei jedem Animationsrückruf die verstrichene Zeit zu einem Akkumulator hinzu. Während der Akkumulator mindestens einen Schritt enthält, aktualisieren Sie die Physik um ein konstantes Intervall, z. B. 1/60 Sekunde, und subtrahieren Sie dieses Intervall. Rendern Sie dann den neuesten Stand. Legen Sie eine maximale Anzahl von Aufholschritten pro Frame fest. Andernfalls kann eine lange Pause zu einem großen Rückstand führen, der mehr Zeit in Anspruch nimmt und die Verzögerung verschlimmert. Entscheiden Sie explizit, ob überschüssige Zeit gelöscht, begrenzt oder durch eine andere Wiederherstellungsregel behandelt wird.

Halten Sie die Einheiten konsistent. Wenn die Geschwindigkeit in Welteinheiten pro Sekunde gemessen wird, multiplizieren Sie sie mit dem festen Schritt in jeder Simulationsaktualisierung. Multiplizieren Sie nicht dieselbe Geschwindigkeit mit der gesamten verstrichenen Zeit des Frames und führen Sie auch mehrere feste Aktualisierungen durch, da sonst die Bewegung doppelt gezählt wird.

## Behandeln Sie Eingabe und Rendering innerhalb Ihrer eigenen Grenzen

Erfassen Sie den gehaltenen Eingabezustand für jeden Simulationsschritt oder stellen Sie einmalige Aktionen in die Warteschlange, bis sie von einem Schritt verbraucht werden. Wenn zwischen zwei Frames ein Tastendruck erfolgt, stellen Sie sicher, dass dieser vor dem nächsten Update nicht verloren geht. Beim Rendern kann zwischen physikalischen Zuständen interpoliert werden, während Kollision und Bewertung den Simulationszustand verwenden. MDN beschreibt requestAnimationFrame als einen einmaligen Rückruf, der vor dem Repaint geplant wird, und empfiehlt, seinen Zeitstempel zur Berechnung des Fortschritts zu verwenden; Ein Akkumulator verwendet diesen Zeitstempel, um Aktualisierungen in festen Intervallen auszuführen.

## Testen Sie die Grenzen der Schleife

Vergleichen Sie dieselbe kurze Bewegung und Kollision über normale Frames, einen simulierten langsamen Frame und eine längere Pause. Stellen Sie sicher, dass ein Spieler nicht durch eine dünne Wand tunnelt, nach einem längeren Frame-Stall mehr Geschwindigkeit gewinnt oder beim Aufholen mehrmals eine Kollision auslöst. Testen Sie Pause und Hidden-Tab-Return entsprechend Ihrer beabsichtigten Regel. Wenn die Simulation mit der Schleife mit festem Schritt stabil ist, eine Kollision aber bei hoher Geschwindigkeit dennoch fehlschlägt, verwenden Sie eine für die Bewegung geeignete Kollisionsmethode, anstatt die Renderfrequenz zu erhöhen.

## Fragen

**Garantiert ein fester Zeitschritt eine deterministische Physik?** Nein. Dadurch wird das Simulationsintervall konsistent, aber Eingabezeitpunkt, Mathematik und Kollisionsreihenfolge können dennoch zu Abweichungen führen. Steuern Sie diese separat für Tests, die wiederholt werden müssen.

**Warum sollten Nachholaktualisierungen nach einem Frame-Stall begrenzt werden?** Ohne eine Grenze kann das Aufholen spätere Frames monopolisieren und die Verzögerung verschlimmern. Wählen und testen Sie eine Wiederherstellungsrichtlinie, die zum Spiel passt, einschließlich der Frage, ob simulierte Zeit verworfen werden darf.

## Folge deiner Neugier

- [Delta Time ohne ruckartige Bewegung verwenden](https://oneshotgems.ai/de/topics/delta-time-in-games): Wenden Sie die verstrichene Zeit auf die Spielbewegung an, wählen Sie eine sichere Aufholrichtlinie und testen Sie die Bewegung bei verschiedenen Bildwiederholfrequenzen und nach Verzögerungen.
- [Wählen Sie Kollisionsprüfungen für ein kleines Spiel](https://oneshotgems.ai/de/topics/game-collision-detection): Wählen Sie eine Kollisionsdarstellung, die zu Ihrem Spiel passt, reduzieren Sie unnötige Paarprüfungen und diagnostizieren Sie Objekte, die Hindernisse passieren.

## Weiterlesen

- [MDN requestAnimationFrame](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame)

---
Kanonische Seite: https://oneshotgems.ai/de/topics/fixed-timestep-game-physics
