Diagnosematrix: Game-Engine-Timesteps und Verhalten bei hohen Frameraten
Wer auf schnellen Gaming-Monitoren (144 Hz, 240 Hz) ältere Konsolen-Ports oder Klassiker startet und die Framerate freischaltet, erlebt oft absurde Physik-Pannen: Fliegende Kutschen in Skyrim, doppelt so schnell verschleißende Waffen in Dark Souls II oder Spielfiguren mit doppelter Laufgeschwindigkeit.
| Engine-Loop-Architektur | Timestep-Implementierung | Verhalten bei 144+ FPS | Beispiel-Spiele | Moderne Lösung |
|---|---|---|---|---|
| Hardcodierter fixer Timestep | Fester Wert dt = 1/60 ohne Anpassung an Renderzeit | Das gesamte Spiel läuft im 2.5x-Zeitraffer; Audio und Animationen laufen auseinander | Need for Speed Rivals, Okami HD | Nicht regulär entkoppelbar; auf 60 FPS fixieren oder spezielle Zeitlupen-Patches nutzen |
| Mangelhaftes Substepping | Render-FPS unlimitiert, aber Physik rechnet starr auf 60-Hz-Basis | Kollisionsabfragen versagen; Objekte explodieren wie Geschosse durch den Raum | Skyrim, Fallout 4 (Vanilla) | Speicher-Hook via DLL (High FPS Physics Fix), der fMaxTime dynamisch anpasst |
| Frame-abhängige Zähler | Abnutzung oder Ticks werden pro gerendertem Frame statt pro Sekunde berechnet | Waffen verschleißen bei 60 FPS doppelt so schnell wie bei 30 FPS | Dark Souls II (Ursprungsversion) | Offizieller Patch oder Community-Haltbarkeits-Fix |
| Moderner Akkumulator-Loop | Feste Physik-Ticks (z. B. 120 Hz) entkoppelt von interpolierter Bildausgabe | Absolut flüssiges Bild bei jeder Bildwiederholrate ohne Physik-Glitches | Unreal Engine 5, Source 2 | Nativ unterstützt; keine Mods erforderlich |
Der mathematische Hintergrund
In klassischen Spieleschleifen:
Position = Position + (Geschwindigkeit * dt)- Wenn Entwickler
dtstarr auf0.01666festlegen (die Zeit eines 60-FPS-Frames), wird die Formel bei 120 FPS in einer echten Sekunde 120-mal ausgeführt. Die Spielzeit vergeht doppelt so schnell. - Setzt man
dthingegen rein variabel, springt bei einem FPS-Einbruch der Bewegungsschritt so weit nach vorn, dass Objekte schlicht durch feste Wände hindurchteleportieren (Tunneling).
Praxislösung für Bethesda-Engines (Skyrim / Fallout 4)
Schritt 1: High FPS Physics Fix installieren
- Stelle sicher, dass SKSE64 und Address Library vorhanden sind.
- Installiere High FPS Physics Fix im Mod-Manager.
- Der Mod fängt den Havok-Zyklus ab und passt die Werte
fMaxTimeundfMaxTimeComplexin jedem Frame dynamisch an die echte Frame-Dauer an.
Schritt 2: ini-Konfiguration optimieren
Passe die HighFPSPhysicsFix.ini an:
DisableVSync = trueLimiter = trueFPSLimit = [Monitor-Hz minus 3](z. B. 141 für 144-Hz-G-Sync-Bildschirme).DynamicUpdateBudget = true