Hogwarts Legacy: Fixing Stutter via Engine.ini Async Compute

The primary objective is to enable AllowAsyncRenderThreadUpdates and r.AsyncCompute, which reduces the “Render Thread Bottleneck” ($B_{render}$) by utilizing unused GPU cycles for background calculations.

File Path & Setup

  1. Navigate to: %LocalAppData%\Hogwarts Legacy\Saved\Config\WindowsNoEditor\Engine.ini
  2. Backup: Always keep a copy of your original file before editing.
  3. Pro Tip: If you are using an RTX 40 or 50 series card, pair these tweaks with DLSS 4 / Ray Reconstruction (released in late 2025) for the ultimate stability.

Optimized “Async Performance” Configuration Table

ParameterRecommended ValueTechnical Purpose
r.AsyncCompute1The Master Fix. Enables asynchronous compute for lighting and shadows.
r.Streaming.PoolSizeSee VRAM TablePrevents “Texture Swapping” stutters by setting a fixed buffer.
AllowAsyncRenderThreadUpdates1Allows the render thread to update independently of the game thread.
r.bForceCPUAccessToGPUSkinVertsTrueMoves character mesh data to the GPU to save CPU cycles.
r.GTSyncType1Forces a strict sync between the GPU and Game Thread to stop micro-stutters.

HowTo: Engineering the Async Compute Pipeline

Follow these GameEngineer.net technical steps to stabilize your wizarding world:

  1. The Async Render Toggle: Under the [ConsoleVariables] section, adding AllowAsyncRenderThreadUpdates=1 is critical. This prevents the “Game Thread” (AI, scripts) from waiting for the “Render Thread” (graphics), which is the source of the 0.1% low FPS drops.
  2. Streaming Pool Size Logic: This is the “Texture Pop-in” fix. You must set this based on your GPU’s VRAM:
    • 8GB VRAM: 3072
    • 12GB VRAM: 4096
    • 16GB+ VRAM: 6144
  3. Forced CPU Skinning: Setting r.bForceCPUAccessToGPUSkinVerts=True is an old Unreal Engine trick that works wonders in Hogwarts Legacy. It offloads the “skeletal” data of students and NPCs, reducing the strain on your CPU’s primary cores.
  4. Hardware Accelerated GPU Scheduling: In Windows 11 (24H2), ensure this is ON. This setting acts as the hardware “handshake” for the Async Compute tweaks in your .ini to function at full capacity.
  5. Shader Cache Expansion: Set your NVIDIA Shader Cache to 10GB or Unlimited in the NVIDIA Control Panel. This works in tandem with our .ini tweaks to ensure that once a stutter is fixed, it stays fixed.
[SystemSettings]
r.bForceCPUAccessToGPUSkinVerts=True
r.GTSyncType=1
r.OneFrameThreadLag=1
r.FinishCurrentFrame=0
r.TextureStreaming=1
r.Streaming.PoolSize=3072
r.Streaming.LimitPoolSizeToVRAM=1
r.AsyncCompute=1

[ConsoleVariables]
AllowAsyncRenderThreadUpdates=1
AllowAsyncRenderThreadUpdatesDuringGamethreadUpdates=1
AllowAsyncRenderThreadUpdatesEditor=1

Technical Explanation: Async Compute ($AC$) and Pipeline Stalls

In a standard rendering pipeline, the GPU executes tasks in a serial “queue.” If a complex Ray Traced shadow takes too long, the entire queue stalls ($S_{stall}$). Async Compute allows the GPU to use its Asynchronous Compute Engines (ACEs) to fill the “gaps” in the pipeline with other tasks.

$$Efficiency_{gpu} = \frac{Work_{raster} + Work_{compute}}{Total\_Time}$$

By enabling these settings, you increase the $Efficiency_{gpu}$, meaning the hardware is doing more work per millisecond without increasing the thermal load. This effectively “masks” the engine’s inherent stuttering by ensuring the GPU is never waiting idly for the CPU to tell it what to do next.

Leave a Comment