The goal for BioShock Infinite is Streaming Fluidity. The “stutters” occur when the engine tries to load new textures in the background while you move between areas. By increasing the PoolSize and adjusting the streaming logic, we can keep all necessary assets in your GPU’s memory, eliminating those sudden frame drops.
Hardware Compatibility & Expectations
- VRAM is Key: The game’s default
PoolSizeof 400MB is far too low for modern 8GB+ cards. - DirectX 11 vs. 10: While DX11 offers better lighting, it is often the source of stutter. If your FPS is high but the game feels “choppy,” consider forcing DX10.
- Launch Options: To make these
.inichanges effective, you must add-ReadTexturePoolFromInito your Steam launch options.
File Location
The configuration files are located in your Windows documents folder: %USERPROFILE%\Documents\My Games\BioShock Infinite\XGame\Config\XEngine.ini
Best XEngine.ini for Sky-High Performance
Open the file with Notepad (or Notepad++) and modify these specific lines under their respective headers.
[TextureStreaming]
PoolSize=3000 ; Set to roughly 50% of your VRAM (e.g., 4096 for 8GB)
UseTextureFileCache=False ; Forces the engine to use raw VRAM for faster loading
TexturePoolSizeReductionMB=1500
LowPCTexturePoolSizeMB=3000
MinRequestedMipsToConsider=10 ; Reduces "texture pop-in" lag
[Engine.Engine]
bSmoothFrameRate=False ; Unlocks FPS (set to True and define a range if jittery)
OneFrameThreadLag=False ; Reduces input lag but may cost 2-3 FPS
[SystemSettings]
bUseMaxQualityMode=False ; Set to True ONLY if you have a high-end modern GPU
StaticDecals=True
DynamicDecals=True
DynamicLights=True
CompositeDynamicLights=False ; Faster lighting calculation
FloatingPointRenderTargets=True
Master Tip: After saving, you must go to the Steam Library > BioShock Infinite > Properties > General > Launch Options and paste:
-ReadTexturePoolFromIni. Without this command, the game will ignore yourPoolSizetweaks and reset them to 400.
Key Parameters Analysis
| Parameter | Recommended Value | Impact |
| PoolSize | 2048 – 4096 | The single most important fix for “stuttering” during movement. |
| bSmoothFrameRate | False | Removes the 60 FPS cap, allowing for 144Hz+ high-refresh play. |
| UseTextureFileCache | False | Prevents the game from using a slow “file cache” on your drive. |
| MaxUserFOVOffsetPercent | 28.57 | (In XUserOptions.ini) Essential for a 90° FOV, preventing “tunnel vision.” |
To maximize your efficiency while soaring through the sky-lines:
- Mouse Smoothing: Go to
XUserOptions.iniand setbViewAccelerationEnabled=False. The default acceleration makes precise headshots with the Hand Cannon much harder. - Depth of Field: If the “sky-line” travel feels dizzying, set
DepthOfField=FalseinXEngine.ini. This removes the background blur, making it easier to spot enemies while moving at high speeds. - Shadow Quality: Set to High (not Ultra). The “Ultra” shadows in Infinite use a very old contact-hardening method that provides diminishing returns for a high performance cost.
Troubleshooting & Common Fixes
- Game Crashes at Launch: Delete your
XEngine.iniand let the game generate a new one. Apply thePoolSizefix first, then test other settings one by one. - Stuttering on SSDs: Even on an SSD, BioShock Infinite can stutter. Ensure
bUseBackgroundLevelStreamingis set to True (disabling this can break scripted events). - Low Quality Textures: If textures look blurry despite being on “Ultra,” it means the
PoolSizeisn’t applying. Double-check your Steam Launch Options.
Frequently Asked Questions (FAQ)
Does “Max Quality Mode” make a big difference?
bUseMaxQualityMode=True forces the highest possible shadow resolution and LOD. It looks stunning on modern PCs, but if you are targeting 144 FPS, it’s better to keep it False and manually set in-game settings to Ultra.
Why is my FPS high but the game still feels “hitchy”?
This is a “frame pacing” issue common in UE3. Try capping your FPS via the NVIDIA/AMD Control Panel to match your refresh rate exactly (e.g., 144 FPS), and set bSmoothFrameRate=False in the .ini.
Is there a way to skip the intro movies?
Yes. In XEngine.ini, search for [FullScreenMovie] and put a semicolon (;) in front of the StartupMovies= lines. This will put you straight into the main menu.
Conclusion and Expected Results
By manually adjusting the XEngine.ini and forcing a larger texture pool, you are solving the decade-old “stutter” issue that plagues this game. You can expect perfectly smooth transitions between Columbia’s districts, the removal of blurry texture pop-in, and the high refresh rate needed to dominate in 1999 Mode.