# Sorgen Sie dafür, dass die Bewegung von der Zeit abhängt, nicht von der Anzahl der Bilder

> 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.

- URL: https://oneshotgems.ai/de/topics/delta-time-in-games
- Kategorie: Für Spieleentwickler
- Typ: Ratgeber
- Aktualisiert: 5. Oktober 2026

Die Deltazeit ist die zwischen Aktualisierungen verstrichene Zeit. Durch Multiplizieren einer Geschwindigkeit mit den verstrichenen Sekunden kann ein Objekt in einer Sekunde eine ähnliche Distanz zurücklegen, unabhängig davon, ob der Browser 45 oder 144 Bilder zeichnet. Der schwierige Teil besteht darin, zu entscheiden, was zu tun ist, wenn die verstrichene Zeit ungewöhnlich groß wird. Wenn ein Tab gesperrt wurde oder eine kostspielige Aufgabe den Hauptthread blockierte, kann das blinde Anwenden der gesamten Lücke zu einem Sprung führen, der mathematisch konsistent, aber unangenehm zu spielen ist.

## Halten Sie die Einheiten im Code sichtbar

Wählen Sie eine Zeiteinheit und verwenden Sie sie konsequent. Wird die Geschwindigkeit in Pixeln pro Sekunde und Delta in Sekunden angegeben, bewegt sich die Position um Geschwindigkeit × Delta weiter. Eine nützliche manuelle Prüfung: Bewegen Sie einen Marker zehn Sekunden lang mit 80 Pixeln pro Sekunde. Er sollte unabhängig von der Zahl der Renderdurchläufe etwa 800 Pixel in der Spielwelt zurücklegen.

Mischen Sie Millisekunden aus performance.now() nicht mit einer Geschwindigkeit pro Sekunde, ohne durch 1.000 zu teilen. Benennen Sie Werte samt Einheit, etwa deltaSeconds oder speedPixelsPerSecond, damit eine spätere Anpassung eine kleine Bewegung nicht unbemerkt vertausendfacht.

## Die Auswirkungen einer langen Verzögerung begrenzen

Begrenzen Sie Delta in einem einfachen Actionspiel auf einen bewusst gewählten Höchstwert und nehmen Sie in Kauf, dass die Simulation bei starker Belastung kurz langsamer wird. Für eine Physiksimulation mit reproduzierbaren Schritten sammeln Sie Zeit und schreiten in festen Intervallen voran. Begrenzen Sie die Zahl der Nachholschritte, damit die Wiederherstellung die Seite nicht blockiert. Die Ansätze haben unterschiedliche Kompromisse; wählen Sie passend zum Spielgefühl und den Regeln.

Testen Sie mit einer künstlichen Pause zwischen Aktualisierungen und vergleichen Sie eine geradlinige Bewegung mit einer Kollision am Ende des Wegs. Durchdringt das Objekt ein dünnes Hindernis, können kleinere Teilschritte oder eine Swept-Collision-Prüfung nötig sein. Eine andere Bildrate allein behebt dieses Problem in der Spiellogik nicht.

## Fragen

**Macht die Deltazeit die Physik deterministisch?** Nein. Variable Aktualisierungsintervalle können dennoch zu unterschiedlichen Integrationsergebnissen führen. Ein fester Simulationsschritt verbessert die Wiederholbarkeit, obwohl Eingabezeit und Gleitkommadetails immer noch wichtig sind.

**Welche Uhr soll die verstrichene Zeit liefern?** Verwenden Sie den Zeitstempel des Animations-Callbacks oder performance.now(); MDN beschreibt beide als hochauflösende Zeitquellen. Verwenden Sie für kurze Frame-Abstände keine Kalenderdaten, denn Änderungen der Systemuhr haben nichts mit der Simulationszeit zu tun.

## Folge deiner Neugier

- [Erstellen Sie eine zuverlässige Browsergame-Schleife](https://oneshotgems.ai/de/topics/browser-game-loop): Strukturieren Sie Aktualisierungen von Browserspielen und zeichnen Sie um Animationsrahmen herum, ohne die Simulationsgeschwindigkeit an die Bildwiederholfrequenz des Spielers zu binden.
- [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.
- [Verwenden Sie einen festen Zeitschritt für die Spielphysik](https://oneshotgems.ai/de/topics/fixed-timestep-game-physics): Trennen Sie Physikaktualisierungen vom Rendering mit einem festen Simulationsschritt, begrenzter Aufholarbeit und Tests auf Strömungsabrisse und Kollisionen.

## Weiterlesen

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

---
Kanonische Seite: https://oneshotgems.ai/de/topics/delta-time-in-games
