PC Stuttering Fix

#1 Edited by Sooty (8082 posts) -

Found this, it's the only thing that worked for me. Zero stuttering now, hurray!

I am using 1200 on a 1280MB video card, working very well.

The file you need to edit is BaseEngine.ini in SteamApps\common\BioShock Infinite\Engine\Config

Ok I did some tests, as the game needs to be launched with the command line "

-ReadTexturePoolFromIni

" to use the

PoolSize

value from the file (otherwise it's calculated).

So, in and area where my VRAM was stuck at 2GB (max of my VRAM), and the game was stuttering like hell each time I turned the camera, I tried several values :

PoolSize=140 (like in many UE3 games) : textures are blurry and VRAM does not exceed 750MB.

PoolSize=400 (default one) : less blurry but only 1000MB VRAM used.

PoolSize=1200 : sharp textures and 1900 VRAM used, no stutter in the large areas, even by going from one end to the other.

So it depends on how many VRAM you have, just try.

For now let's say your VRAM minus 800.

To enable this, you have to open the properties of the game in Steam, and in the first tab you have a button "Set launch options", and put "

-ReadTexturePoolFromIni

" without the "".

For me it works well, the game is always smooth and I only got little drops when it streams the level, but the big stutter is gone.

#2 Posted by Humanity (10109 posts) -

I'll definitely have to try this when I get home, thanks for heads up.

#3 Posted by Syndrom (368 posts) -

this seems sketchy. Hmm as long as i don't run into any problems i won't touch an ini file :p

#4 Edited by Tearhead (2214 posts) -

Yeah, I was having some issues with the "Lock Framerate" option, as it threw me down to 30 frames anytime it dipped below 60, which sucked. I hate screen tearing, so I tried the D3DOverrider option and forced it into v-sync and triple buffering. That has been working fine for me so far, with the only issue is that I am unable to use the Steam overlay :(

Hope it gets a patch that addresses these issues soon.

Setup: GTX 670, i5 3570k, 8gb RAM

#5 Posted by zenmastah (993 posts) -

This coupled with the pre rendered frames to 3 has almost completely eliminated my stuttering, it only does it when loagin new areas..

And best of all, i can now play the game using SweetFX while rocking a solid 60.

feels so good....

#6 Posted by GiroMindTricks (60 posts) -

While not eliminating the stuttering completely, this made a big difference for me. Now the stutters are less frequent and the fps drop is far less.

Setup: FX-8120 @3.8Ghz, EVGA SC GTX 660Ti

#7 Edited by mostman (252 posts) -

I haven't done the fix outlined above yet - but one thing that helped my situation a whole lot is to turn ambient occlusion off in game and to enable it in the NVIDIA console. It still stutters a bit - but its made a significant improvement. 660 here.

#8 Posted by abomunist (120 posts) -

Works! Considering I'm running a 560ti w/1gb of vram, I arbitrarily chose 350 for the pool size and now stuttering is over.

#9 Posted by chilibean_3 (1697 posts) -

Hmmmm. I changed the PoolSize in a different file and it helped a bit but would still get bad after playing for a bit. I'll give this a shot and see if it is any different. Thanks for messing around with it and sharing your results!

#10 Edited by Sin4profit (3003 posts) -

Crap, just now finished the game and i had a lot of stuttering in my playthrough. Good info to have out there, though.

#11 Posted by Humanity (10109 posts) -

I have a 1gb card so I set mine to 750 and it worked pretty well - I also turned down ambient occlusion which helped a ton.

What does ambient occlusion do anyway? I'll have to google it..

#12 Posted by Ghostiet (5328 posts) -

Thanks, this finally fixed this bitch for me.

#13 Edited by Andorski (5366 posts) -

Saw this tip on an IGN article, but the writer said that the change in the .ini file screwed up a scripted moment that was necessary to continue the game. Anyone else have bad luck doing this?

#14 Edited by Demoskinos (15156 posts) -

@syndrom: Just make a back up and put in a folder somewhere.

#15 Posted by KillerClaw (70 posts) -

This did not work for me, 660Ti with 2GB, set it to 1750 and 2000, still capped out at 1000 and I noticed a texture pop-in was a LOT worse.

#16 Edited by RVonE (4703 posts) -

@andorski said:

Saw this tip on an IGN article, but the writer said that the change in the .ini file screwed up a scripted moment that was necessary to continue the game. Anyone else have bad luck doing this?

Are you sure that this is the same .ini change? There is a different change you van make that has been confirmed by many users to screw up certain scripted interactions. I have not encountered reports on the fix posted above causing that problem.

#17 Posted by Sooty (8082 posts) -

@andorski said:

Saw this tip on an IGN article, but the writer said that the change in the .ini file screwed up a scripted moment that was necessary to continue the game. Anyone else have bad luck doing this?

That's the background streaming tweak, the one in my post isn't in there. I don't think the IGN article tells you to do the command line (launch options) parameter, otherwise the game ignores the poolsize changes.

#18 Edited by thetenthdoctor (291 posts) -

Well I'll admit I was wrong. Thought it was impossible Irrational would miss this, but changing poolsize from 400 to 600 on my 1200mb GTX470 makes it stutter free with no ill effects.

#19 Edited by OurSin_360 (947 posts) -

Changing pool size shouldn't affect the scripting, but if you change the backgroundstream option to false it breaks the game. (too bad it's the only thing that actually fixed the stuttering for me lol). I've tried this and it's not working, not sure what settings to use my Card is 3gb 7950? Every option i tried does nothing. I get the same frame drops whether i play on high or low settings too. I can lock my frames at 30 and it's all good, but the game looks terrible at 30 frames for some reason, like a double image thing when scrolling.

Otherwise game is amazing so far, and when running at 60fps it looks great even on low settings.

#20 Edited by OurSin_360 (947 posts) -

From what i've been reading now a lot of people are saying they experienced a placebo effect with this setting and once they got later in the game the stutter came back. If you have an Nvidia card alot of people are claiming that switching the AO off and forcing it through Nvidia's CP is doing the trick for them. I'm going to try and run the game locked at 40 frames (which still feels pretty smooth) and just try and deal with the slight drops to 30-35, maybe try 35 if it's still a big problem. Haven't heard any word on a patch yet?

Edit* not sure if it's just the section of the game i'm on but i reduced the stutter finally by setting the flip queue size to 1 in radeon pro. So if anybody is on AMD and still having problems try that and see, i also use radeon to force V-sync

#21 Posted by water224 (2 posts) -

@sooty: After I edit the ini and set the launch options, and launch bioshock infinite, all I get is a black screen. Any suggestions?

#22 Posted by LiquidPrince (16178 posts) -

@water224 said:

@sooty: After I edit the ini and set the launch options, and launch bioshock infinite, all I get is a black screen. Any suggestions?

Same thing happened to me, so I set it back to normal. You can try adjusting the other engine .ini file which should be located in your My Documents folder. I believe it's called Xengine.ini.

#23 Edited by zenmastah (993 posts) -

I do believe you only have to edit Xengine.ini thats on My Documents folder, and set the launch option in Steam and youre set.

#24 Edited by water224 (2 posts) -

Thanks for the advice guys. I reset the ini in the steam folder and changed the one in the documents folder. Still got the black screen on startup though.

#25 Edited by OurSin_360 (947 posts) -

^^Try and delete the files and do the check file integrity thing in the steam options maybe? Or maybe just re-install?

From my understanding their are 2 stuttering problems int he game one that has to do with moving to brand new areas (typical video game problem though) that one doesn't seem to have a fix at least for me, and the random stuttering during the game, only way i fixed that was how i said in the other post forcing v-sync and setting that queue option in radoen pro to 1. The Ini edits did absolutely nothing for me, i think people are just at areas in the game that have low stutter problems but they creep back up towards the end.

#26 Edited by OllyOxenFree (4988 posts) -

I had some bad stuttering with some ~3 second freezes while moving into new areas. This fix, well, fixed it.

#27 Posted by Sooty (8082 posts) -

@water224 said:

Thanks for the advice guys. I reset the ini in the steam folder and changed the one in the documents folder. Still got the black screen on startup though.

I'm not 100% sure but maybe you set the poolsize too high for your video card, experiment with lower and see if that gets it working.

#28 Edited by Glowyrm (1 posts) -

@zenmastah said:

This coupled with the pre rendered frames to 3 has almost completely eliminated my stuttering, it only does it when loading new areas.

Well that's the REAL problem. There are different types of "stuttering" issues at play here, the one most people seem to be talking about here is the stuttering that is connected to VRAM use. After a few minutes to an hour (it varies) the game will go into a constant stuttering mode. There is also, "micro" stuttering which is just enough to make the game not look "smooth".

Both of those can be mitigated (some claim it's gone completely, I just think some people aren't as sensitive to it) with the settings the OP showed here. I'll quote the lead developer of the game below with some other fixes he has shared.

The "loading new areas" stutter is a game engine problem that nothing but a patch will fix (one they are currently working on). The way the UE3 engine works is that it doesn't stream textures based on distance from your character but instead at specific areas in the game. These are pretty frequent, sometimes running through 5+ "scripted loading areas" within a minute or less.

This type of streaming gives you control over what people see and allows you to load what you want loaded when you want it loaded. It can make the game world seem larger when done right, but it wasn't done right in this game. At least not technically. It looks great, but the stutter is horrendous and it really kills my experience (although I am still trudging through the story). Some of these areas are worse than others, but when you go through a bunch it really takes you out of the game, especially when the rest of it runs so smoothly for many people.

Besides the loading stutter that is beyond our control, I had constant, horrible stuttering as my issue. It would happen about an hour into every session and wouldn't go away until I quit the game and restarted it. Of course I have stuttering at the "scripted loading" sections, but this was different.

The tweak that fixed it for me was increasing the "PoolSize=X" to 1024, which is half my VRAM (it's originally set to 400 I think). This tweak is "Workaround #3" in the 2nd set of quoted tweaks.

1) Make sure you have unmodified INI files. Right-click on BioShock Infinite in your Steam Library, click Properties, select the Local Files tab, then click "Browse Local Files". In the directory that opens, find the Engine/Config and XGame/Config directories. Back them up somewhere else (just in case!) and then delete them. Then go back to the Steam properties dialog for the game and click "Verify Integrity of Game Cache...". When this is finished, it should tell you that a few files will be reacquired. Launch the game once (which will force those files to download) and then exit once you reach the main menu.

2) Open the properties of the game in Steam again. In the first tab you have a button "Set launch options". Put "-ReadTexturePoolFromIni" (without the quotes) as the launch option. Close the dialog and launch the game. If this fixes your issues, then stick with this solution.

3) If step 2 did not fix the issues, please try the following. Leave "-ReadTexturePoolFromIni" (without the quotes) as the launch option as specified in step 2. Then right-click on BioShock Infinite in your Steam Library, click Properties, select the Local Files tab, then click "Browse Local Files". In the directory that opens, navigate to XGame/Config and edit "DefaultEngine.ini" (if there is no DefaultEngine.ini in that directory it is because you did not launch and exit the game at the end of step 1). In DefaultEngine.ini, find the line that says "PoolSize=400" and change it to a larger number. Try increasing by increments of 200 MB until you see an improvement in the stuttering, and stop if the problem gets worse.

4) If Step 3 does not fix the issue, then please try the following. REMOVE "-ReadTexturePoolFromIni" from the launch options, and instead add "-DisableTexturePool" (without the quotes). Launch the game and see if this helps.

And here is a 2nd post from him, mostly the same tweaks but he explains/words things a little differently. I didn't go over it too deeply so I put it here still in case there's something slightly different from the first set that helps someone.

Workaround #1:

Open the properties of the game in Steam. In the first tab you have a button "Set launch options". Put "-DisableTexturePool" (without the quotes) as the launch option. Close the dialog and launch the game. If this fixes your issues, then stick with this solution. Please note that Workaround #1 has not been tested very well and may increase load times or cause other in-game performance issues, especially on lower-end hardware. But if it works for you, that's great.

If Workaround #1 does not work for you, please try the following:

Workaround #2:

Open the properties of the game in Steam. In the first tab you have a button "Set launch options". Put "-ReadTexturePoolFromIni" (without the quotes) as the launch option. Close the dialog and launch the game. If this fixes your issues, then stick with this solution. This will cause the game to ignore your video card's reported video memory size when calculating the texture pool size, and use a fixed amount set in DefaultEngine.ini.

If Workarounds #1 and #2 do not fix the issue for you, please try the following:

Workaround #3:

Open the properties of the game in Steam. In the first tab you have a button "Set launch options". Put "-ReadTexturePoolFromIni" (without the quotes) as the launch option. Then edit DefaultEngine.ini (NOT BaseEngine.ini!) in "SteamApps\common\BioShock Infinite\XGame\Config" and change "PoolSize=400" to something different; try larger values first before smaller ones. Make sure this value is less than the amount of video RAM on your graphics card. Close the dialog and launch the game. If this fixes your issues, then stick with this solution.

It's been almost a month and no patch yet, but they said they have made "improvements" to the load stutter a few days ago. Hopefully there will be a patch within 1-2 weeks.

This edit will also create new pages on Giant Bomb for:

Beware, you are proposing to add brand new pages to the wiki along with your edits. Make sure this is what you intended. This will likely increase the time it takes for your changes to go live.

Comment and Save

Until you earn 1000 points all your submissions need to be vetted by other Giant Bomb users. This process takes no more than a few hours and we'll send you an email once approved.