The primary objective is to synchronize the game’s simulation thread ($S_{sim}$) with your monitor’s refresh rate while minimizing the input latency ($L_{input}$) during high-multiplier combos.
File Path & Setup
- Navigate to:
%LocalAppData%\VicariousVisions\THPS\Saved\Config\WindowsNoEditor\Engine.ini - Creation: If the file is blank, paste the headers below.
- Pro Tip: In the 2026 “Pro Skater 3+4” release, the game has an internal “Trick Physics” tick rate. Setting your FPS to a multiple of 60 (e.g., 120, 240) provides the most consistent button-to-animation response.
Optimized “Combo Stability” Configuration Table
| Parameter | Recommended Value | Technical Purpose |
FrameRateLimit | 144.0 / 240.0 | The Core Fix. Unlocks the 60 FPS cap safely. |
r.GTSyncType | 1 | Syncs the game thread with the render thread to stop micro-stutters. |
r.OneFrameThreadLag | 0 | Reduces input lag by removing the 1-frame render buffer. |
r.CreateShadersOnLoad | 1 | Prevents “stuttering” when performing special tricks for the first time. |
r.Streaming.PoolSize | 0.5 x VRAM | Allocates fixed memory for level textures to avoid mid-combo hitches. |
[/Script/Engine.Engine]
bUseFixedTimeStep=False
FixedFrameRate=144.000000
[SystemSettings]
r.GTSyncType=1
r.OneFrameThreadLag=0
r.CreateShadersOnLoad=1
r.Shaders.Optimize=1
r.SceneColorFringeQuality=0
r.MotionBlurQuality=0
r.DepthOfFieldQuality=0
r.Shadow.Virtual.MaxPhysicalPages=2048
HowTo: Engineering the High-FPS Trick Pipeline
Follow these GameEngineer.net technical steps to ensure your million-point combos aren’t ruined by a frame drop:
- Unlocking the Physics Gate: In the
[/Script/Engine.Engine]section, settingbUseFixedTimeStep=Falseallows the engine to decouple physics from the frame rate. This ensures that a kickflip ($K_{flip}$) takes the same amount of “real time” regardless of whether you are running at 60 or 240 FPS. - The “Input Lag” Killswitch: By setting
r.OneFrameThreadLag=0, you remove the safety buffer the engine uses to smooth out frames. While this can make the FPS look slightly more erratic, it shaves off ~16ms of input delay, which is critical for landing a “Revert” at the perfect millisecond. - Disabling Post-Process Noise: THPS 3+4 uses heavy Chromatic Aberration (
r.SceneColorFringeQuality) and Motion Blur. Disabling these in the.iniclarifies the “Contact Point” where your board hits a rail, making it easier to time your balance meter. - VRAM Management: For modern 2026 GPUs, set
r.Streaming.PoolSizeto roughly half your VRAM (e.g.,4096for 8GB). This prevents the “Level Streaming” hitch that occurs when skating quickly through dense maps like Tokyo or Suburbia. - DirectX 12 Protocol: Ensure you use the
-dx12launch option in Steam. Unreal Engine 4’s DX12 implementation provides better CPU-bound scaling, which is essential for maintaining 144+ FPS when the physics engine is calculating complex board collisions.
Technical Explanation: Game Thread Synchronization ($GTS$)
In a high-speed skating game, the “Game Thread” calculates your collision with the environment ($C_{env}$), while the “Render Thread” draws the pixels.
$$Latency_{total} = T_{physics} + T_{draw} + T_{sync}$$
By using r.GTSyncType=1, we force the engine to use a strict “back-pressure” sync. Instead of the Render Thread getting ahead of the Physics Thread (which causes the board to “clip” through rails at high speeds), the two stay locked. This results in a much more predictable “Pop” off the ramp and ensures that your inputs are processed in the same frame they are rendered.