BioShock Infinite Performance

Another "oldie but goodie" game that's worth including in our initial batch of benchmarks is last year's hit BioShock Infinite, the sequel of sorts to BioShock and BioShock 2. Set in the skies and with full support for DirectX 11 hardware, BioShock Infinite is one of AMD's Gaming Evolved titles, and it has also been available as a free game in the past with various AMD GPUs. Despite that connection, however, the performance of BioShock Infinite is largely GPU vendor agnostic. Given this game is already a year old, I'm going to skip straight to the point: performance.

BioShock Infinite - Performance and Analysis

While this is an AMD Gaming Evolved title, NVIDIA now holds the performance crown at our highest quality 2560x1440 Ultra settings, and it has done so for quite some time. The UltraDX11_DDOF settings that we test at aren't as demanding as what we have in some titles (e.g. Ultra + 4xSSAA), so BioShock Infinite reaches frame rates well over 60FPS with both the new GTX 970 as well as the older GTX 780 -- and the GTX 980 and GTX 780 Ti would be even faster. CrossFire R9 290X is still our fastest configuration tested, but since we haven't tested any SLI setups it's not really a fair comparison. Basically, this is the sort of game that could be played at maximum quality settings on a 4K display, even with a single fast GPU.
One interesting tidbit with BioShock Infinite is that it still scales quite well even at lower quality settings -- the GTX 970 is 167% faster than the HD 6970 at 2560x1440 Ultra, but it's still 89% faster even at 1366x768 Low. In that respect, BioShock Infinite is a lot like Tomb Raider: more demanding of the GPU and less demanding of the CPU. And even at minimum details, it still needs a decent amount of GPU performance -- look at the Intel HD 4600, which barely breaks 30FPS at our lowest settings and drops to an unplayable 20FPS at 1600x900 Medium quality. An R7 250X still manages to break 30FPS even at our 1920x1080 High settings, so basically you'll want at least a $100 video card if you're planning to play BioShock Infinite at higher quality settings. Of course, there's not a whole lot that changes with the way the game looks....
Update: 4K gaming in BioShock Infinite is actually not too far out of reach, depending on your desired frame rates. A single R9 290X will just barely hit 30FPS, but a GTX 980 will get you well above 30FPS, as will the GTX 780 and GTX 970. CrossFire performance from the R9 280 looks about what we'd expect, and the R9 290X CrossFire configuration is well above 60FPS average frame rates (though minimum frame rates can dip into the 40s).

BioShock Infinite Image Quality

BioShock Infinite IQ1 Low BioShock Infinite IQ1 Medium BioShock Infinite IQ1 High BioShock Infinite IQ1 Ultra

BioShock Infinite IQ2 Low BioShock Infinite IQ2 Medium BioShock Infinite IQ2 High BioShock Infinite IQ2 Ultra

BioShock Infinite IQ3 Low BioShock Infinite IQ3 Medium BioShock Infinite IQ3 High BioShock Infinite IQ3 Ultra

BioShock Infinite IQ4 Low BioShock Infinite IQ4 Medium BioShock Infinite IQ4 High BioShock Infinite IQ4 Ultra

Low on left, then Medium, High, and Ultra
Compared to most games, BioShock Infinite really doesn't change much when going from Ultra to High to Medium to Low. Oh, there are differences in quality, but they're not the sort of thing that will make you demand higher quality settings. The big changes are that Low disables FXAA, and otherwise it's mostly the quality of lighting and shadows that improves as you go up the settings. At the maximum quality setting, it looks like there may also be a form of PCSS -- Percentage Closer Soft Shadows -- which makes shadows blur the further an object is from a surface. There's also a jump in the quality of distant objects between the Medium and High settings.
While jaggies aren't a huge problem for me in BioShock Infinite, they are still present even when using the built-in anti-aliasing. The problem is that BioShock Infinite uses FXAA, which only tries to detect edges on the final image output. If you look at the above images, you'll notice some improvements on edges (between Low and Medium), but there are still edges where the contrast isn't as high and so they don't get de-aliased. This is where something like SSAA (or NVIDIA's new DSR) would be useful, and since we're pushing high frame rates even at 2560x1440 it's definitely viable. Of course, DSR is only available with the new GTX 970/980.

How to Benchmark BioShock Infinite

Wrapping things up, BioShock Infinite has a built-in benchmark that you can access when you launch the game via Steam. Basically, you choose the settings and resolution, let the benchmark run, and then collect the results. The benchmarking utility is actually a batch file, however, so if you know how to use those you can bypass the menus and choices and just run our test settings. To that end, here's our Gaming Bench BioShock Infinite test file. (Put the contents into a batch file in the BioShock Infinite\Binaries\Win32 folder.) You'll need a 2560x1440 capable display, with support for 1920x1080, 1600x900, and 1366x768 resolutions; otherwise edit out the settings you don't want to run. After the test is complete, check your Documents\my games\BioShock Infinite\Benchmarks folder for the results. Average frame rate is on the eighth line, second column; for minimum frame rate use the minimum value of column B (not entirely accurate, but the instantaneous minimums tend to be a bit too random). Here's the contents of the batch file:

rem 1366x768 LOW:
start /wait /b BioShockInfinite.exe DefaultPCBenchmarkMap.xcmap -ForceCompatLevel=2 -unattended -resx=1366 -resy=768 -benchmarkfile=GB-%GPU%-13x7-Low.csv -norumble -noPauseOnLossOfFocus -fullscreen -runfrombenchmarkbat
ping -w 200000 -n 1
rem 1600x900 MEDIUM:
start /wait /b BioShockInfinite.exe DefaultPCBenchmarkMap.xcmap -ForceCompatLevel=3 -unattended -resx=1600 -resy=900 -benchmarkfile=GB-%GPU%-16x9-Medium.csv -norumble -noPauseOnLossOfFocus -fullscreen -runfrombenchmarkbat
ping -w 200000 -n 1
rem 1920x1080 VERYHIGH:
start /wait /b BioShockInfinite.exe DefaultPCBenchmarkMap.xcmap -ForceCompatLevel=5 -unattended -resx=1920 -resy=1080 -benchmarkfile=GB-%GPU%-19x10-Veryhigh.csv -norumble -noPauseOnLossOfFocus -fullscreen -runfrombenchmarkbat
ping -w 200000 -n 1
rem 1920x1080 ULTRA:
start /wait /b BioShockInfinite.exe DefaultPCBenchmarkMap.xcmap -ForceCompatLevel=7 -unattended -resx=1920 -resy=1080 -benchmarkfile=GB-%GPU%-19x10-Ultra.csv -norumble -noPauseOnLossOfFocus -fullscreen -runfrombenchmarkbat
ping -w 200000 -n 1
rem 2560x1440 ULTRA:
start /wait /b BioShockInfinite.exe DefaultPCBenchmarkMap.xcmap -ForceCompatLevel=7 -unattended -resx=2560 -resy=1440 -benchmarkfile=GB-%GPU%-25x14-Ultra.csv -norumble -noPauseOnLossOfFocus -fullscreen -runfrombenchmarkbat

Leave a Reply