Skyrim LE: Best Skyrim.ini for 144Hz Physics Stability

Skyrim Legendary Edition (LE), which runs on a 32-bit version of the Creation Engine, was never designed to exceed 60 FPS. Its physics engine (Havok) is hard-coded to the frame rate; without manual intervention, playing at 144Hz will cause objects to fly across rooms, NPCs to glitch through floors, and water to flicker uncontrollably. For GameEngineer.net, this guide focuses on the specific math required to synchronize Havok with high-refresh-rate monitors via Skyrim.ini.

File Path

To stabilize the physics for high-refresh-rate gameplay, navigate to your configuration folder:

Documents\My Games\Skyrim\Skyrim.ini

Note: Do not use SkyrimPrefs.ini for these specific variables. While some mod managers (like MO2) have their own internal .ini editors, the math remains the same.

Skyrim.ini Configuration Block

Add the following [HAVOK] section to the top or bottom of your file. The value of fMaxTime is the most critical calculation for your specific monitor:

[HAVOK]
fMaxTime=0.0069
fMaxTimeComplex=0.0138

[Display]
iPresentInterval=0

[General]
bMultiThreadedMovement=1
bMultiThreadedAnimation=1

Technical Breakdown and Performance Analysis

The fMaxTime variable acts as a “Time Step” for the physics simulation. If this is not adjusted, the engine tries to calculate 60 frames of physics while the GPU renders 144, creating a massive desync.

ParameterRecommended ValueTechnical Impact
fMaxTime0.0069 (for 144Hz)Mathematically aligns the Havok physics tick with the screen’s refresh cycle ($1/144 \approx 0.0069$).
fMaxTimeComplex0.0138Defines the physics step for complex object collisions (double the base fMaxTime).
iPresentInterval0Disables the engine-level 60 FPS V-Sync cap, allowing the game to reach high refresh rates.
bMultiThreaded...1Offloads movement and animation to separate CPU cores to maintain stable frame timing.

HowTo: Calculating the Physics Step for Any Refresh Rate

If you are not using exactly 144Hz (e.g., 120Hz, 165Hz, or 240Hz), you must calculate your own fMaxTime to avoid the “flying pot” syndrome. Follow this formula for GameEngineer.net:

  1. The Formula: Divide 1 by your target FPS/Refresh Rate ($1 / FPS = fMaxTime$).
  2. 120Hz Calculation: $1 / 120 = 0.0083$.
  3. 165Hz Calculation: $1 / 165 = 0.0060$.
  4. 240Hz Calculation: $1 / 240 = 0.0041$.
  5. Implementation: Replace the fMaxTime value in your .ini with the result of your calculation, and set fMaxTimeComplex to exactly double that number.

Technical Explanation: Understanding the Havok Step

In Skyrim LE, the physics engine operates on a Fixed Timestep. The engine assumes that exactly 16.6 milliseconds ($1/60$) pass between every frame. When you run the game at 144Hz, only 6.9ms pass between frames. Without adjusting fMaxTime, the engine thinks 16.6ms have passed when only 6.9ms actually have, effectively making physics objects move 2.4x faster than they should. By setting fMaxTime=0.0069, you tell Havok to calculate its math in 6.9ms increments, perfectly syncing the “Game World” time with the “Real World” time.

Leave a Comment