Update 5/21/2013: A patch has been released that should improve PC performance and reduce instances of hitching and stuttering. More details here.
The team is currently investigating reports of stuttering, loss of framerate, low texture quality, and other performance issues in BioShock Infinite. While some of these issues may need to be resolved via a title update, the following steps have been known to resolve, or at least improve conditions for a number of players.
DO NOT USE:
Please Note: There is a potential fix which has been passed around the internet which is absolutely not recommended. Please do not change bUseBackgroundLevelStreaming to FALSE. This is known to cause problems and progression-stopping bugs.
Disable SLI/CrossFire/Eyefinity/Multi-Monitor Setup
Part of troubleshooting any issue is to remove as many variables from the equation as possible. When performing troubleshooting in BioShock Infinite (or any game) it is strongly recommended that secondary monitors be disabled during the troubleshooting process. Once the issue is resolved, you can always feel free to re-enable the secondary card/monitor, and see if the game remains stable.
Once again, this goes along with removing variables. As with most games, antivirus software, along with any background applications, can cause conflicts. So far Avira seems to be the most problematic, but there may be others. Disabling/uninstalling antivirus, or setting up an exception may help. We also recommend disabling all background applications while running the game, until the source of your issues is isolated.
To Turn off Background Applications in Windows 7:
Step 1: Start the System Configuration Utility
Click the Start Button type msconfig in the Start Search box, and then press ENTER.
If you are prompted for an administrator password or for a confirmation, type the password, or provide confirmation.
Step 2: Configure Selective Startup options
1. In the System Configuration Utility dialog box, click Selective Startup on the General tab.
2. Click to clear the Load Startup Items check box.
- Note: The Use Original Boot.ini check box is unavailable.
3. Click the Services tab.
4. Click to select the Hide All Microsoft Services check box.
5. Click Disable All, and then click OK.
6. When you are prompted, click Restart.
7. Try running the game again to see if the problem persists.
One tweak that seems to be helping many players who experience performance issues in BioShock Infinite is to increase the PoolSize in one of the .ini files. In the simplest terms, increasing the Poolsize increases the cache for game objects, so it should help with some stuttering issues, and may help with some specific crashes.
Make sure you have unmodified INI files. Right-click on BioShock Infinite in your Steam Library, click Properties, select the Local Files tab, and 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.
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.
If not, please try the following, to increase the PoolSize in your preference file (.ini)
- Navigate to C:\Users\[UserName]\My Documents\My Games\BioShock Infinite\XGame\Config and open the XEngine.ini file in a text editor (preferably Notepad).
- Search for PoolSize and change the value from the default 400 to 640.
- Save the file.
- In the Steam Library, right click on the game and choose Properties. In the "General" tab, click "Set Launch Options" and enter "-ReadTexturePoolFromIni " (without the quotes) as the launch option.
- Launch BioShock Infinite, and see if conditions improve.
- If they do not, try repeating this process, increasing 640 to 800, and then increments of 200 after that, until conditions improve. Stop when conditions begin to degrade.
- Do not set this number higher than 400MB less than your card’s total VRAM. For example, if you have a 2GB video card, do not set the PoolSize higher than 1600MB.
Enabling vsync ("Lock Framerate" to "On" in the in-game graphics options) will general help improve the severity of hitching, though it will not eliminate it.
However, some players have reported increased success with minimizing the stuttering by disabling V-Sync in game and then reenabling it through the Graphics card
For NVIDIA cards, access the Control Panel (right-click on the desktop)
- Select 'Manage 3D Settings' from the left hand panel
- Select 'Program Setting' from there and click 'Add'
- Look for BioShock Infinite in the list and click 'Add selected game'.
- Under 'specify the settings for this program' options box, scroll down to the end to find 'Vertical Sync'
- Click 'Vertical Sync' and select 'Adaptive' from the drop-down menu and click Apply.
For AMD cards, users will need to use RadeonPro to enable Dynamic V-Sync.
- Open RadeonPro and click the 'Add New Profile' button
- Find BioShock Infinite's .exe file (should be in Steam\Steamapps\Common\BioShock Infinite) and add it in
- Now click on the 'Tweaks' tab. Here you need to enable three options: 'Vsync Control' to 'Always On'; tick 'Dynamic Framerate Control; and set 'Keep up to' to 60.
We have also received a small number of reports of performance issues due that turned out to be related to mouse input. Most of these issues seem to be related to a specific mouse type, made by Roccat, but there could be others. We recommend removing your mouse, and testing a second mouse, if you have one available, and see if conditions improve. If you do and it turns out to be related to a very specific mouse, please let us know and we will try to troubleshoot as best we can.
Like in the above section, disabling AO may improve performance, especially on Nvidia cards. Again, disable Ambient Occlusion through the in game menu, test the game, to see if conditions improve, and then experiment with re-enabling it through the graphics card’s control panel.
As with all new games, BioShock Infinite tends to run best when running on the newest graphics drivers, those which have been optimized for the game. In the case of this particular error, a “Clean” driver installation is recommended.
Please note: ATI HD 2000, 3000 and 4000 series cards are now running on legacy drivers. AMD is still updating the drivers periodically, but not all new drivers are compatible with these series of cards.
For ATI desktop cards, driver updates can be found at the following:
Catalyst Control Center 13.3 Beta or later is recommended in most situations for BioShock Infinite. Please note, only 13.1 is compatible with 2000, 3000, and 4000 series cards.
For Nvidia desktop cards, driver updates can be found at the following:
GeForce 314.22 Driver or later is recommended for BioShock Infinite.
For Laptops, most driver updates should be obtained directly from the laptop manufacturer (Dell, Toshiba, etc.)
While the most recent drivers are recommended for most users, in some select cases, older drivers have had improved stability. If you are experiencing stability issues, a clean install of an older driver may be appropriate. In particular, clean installs of Nvidia driver 310.90 have been known to help in some specific cases.
Reduce Texture Quality to Medium
Most of the performance issues appear to be related to texture streaming. Lowering that setting is going to have the biggest impact. While not optimal, in some cases, reducing texture quality has been known to improve the overall game experience.
Please Note: Generally speaking, many of these issues seem to become less severe as you progress through the game, and many players have found their issues to be completely resolved around the time Monument Island is reached.