If the third time's the charm, the Mafia series must have started out as one repellent goodfella. The previous two games were multiplatform, so this isn't new territory by any means, but Mafia 3 came out last week and created quite the stir. Initially there was a 30 fps cap, but a patch over the weekend thankfully took care of that problem… or did it? Let's look at the essential features for a PC game, how Mafia 3 stacks up, the available settings, and what sort of performance you can expect with several hardware options.
Essential feature check and PC behavior
There are many things that go into creating a game, but when we talk about PC games—and in particular, games that push the envelope on graphics quality—there are certain items we look for. Here's our feature checklist for proper PC behavior.
Any (graphically demanding) PC game worthy of the name should have the option for an uncapped framerate. Mafia 3 failed this test at launch, but a patch released just a few days later addressed this shortcoming. That of course raises an important question: If the framerate cap could be patched out in just a couple of days of fixing and testing, why was it there in the first place!? It speaks volumes that 2K Games ever thought having a cap on PC was acceptable.
Elsewhere, Mafia does better. It supports all the common resolutions I've checked, including everything from 5:4 aspect ratios like 1280x1024 through common 4:3 and 16:9 options, and up to ultrawide 21:9 stuff like 3440x1440, though it appears some of the HUD elements have issues at 21:9. (I didn't check multi-monitor modes.) V-sync is a toggle, and fullscreen/windowed modes are present (though borderless windowed isn't directly supported). You can also change the field of view (range of 55-90), which combined with resolution support allows the game to render 'properly' at virtually any resolution.
Mafia 3 includes good support for remapping and customizing the controls, but not all mouse buttons can be mapped. You can turn on/off various assist features (like aim and driving assist), and tweak the sensitivity of the mouse and keyboard. Key changes also show up in the in-game cues, so if you change the 'open door' from the default E to F, you'll still get the appropriate overlay. Audio settings are limited to five different volumes (master, music, dialog, SFX, and cinematics), as well as a dynamic range option of low/high. Setting dynamic range to low vs. high didn't seem to make much of a difference, or perhaps I just don't have the ears to detect subtle variations in audio quality.
Worth noting is that the game takes quite a while to load, even on high-end hardware—Core i7-5930K and an SSD. I timed it at 27 seconds from launch until the main menu, complete with several unskippable logos for 2K Games, their partners, and a warning to not exit when the autosave is active. Loading into the game world is a bit faster, at around 11 seconds—using a slower CPU and a hard drive will increase the load times quite a bit, naturally. Once into the game proper, however, loading scenes are scarce—mostly you'll see them when you die and reload.
Having a seamless world to roam around in does increase the system requirements, and here Mafia 3 is a real doozy. The minimum reqs ask for a Core i5-2500K or FX-8120 for the CPU, and an HD 7870 or GTX 660 graphics card. I suspect the CPU is less of a factor with older graphics cards (more on this later), but don't expect mainstream GPUs from several years ago to run the game well. The recommended hardware consists of a Core i7-3770 or better, and an R9 290X or GTX 780 / GTX 1060 GPU. Ouch.
Graphics settings and impressions
Initially, Mafia 3 struck me as a reasonably attractive game. Of course it could never live up to the concept art hype, but at high quality it looks good and at times great—sunsets in particular can be quite pretty. The game also includes an active day/night cycle, which generally means global illumination is required, and depending on how it's implemented it can really tax your hardware.
What sort of knobs and dials can you tweak to make the game run more smoothly? Not many, actually—besides the usual resolution, V-sync, fullscreen toggle, and the fps limiter, Mafia 3 has just nine items to tweak, and four of those don't really count. For example, the screen borders option can be useful if you're running on an HDTV that has overscan by default, but for standard PC displays it's not important.
The global quality preset modifies eight core graphics settings—depth of field, ambient occlusion, motion blur, geometry detail, shadow quality, reflection quality, volumetric effects, and antialiasing. Most of the individual settings have Low/Medium/High settings that match to the global preset, with depth of field and motion blur being the only two on/off items.
Several of the settings have almost zero impact on performance: depth of field, motion blur, and geometry detail can be set on/off or low/high as you see fit. Depth of field applies during cutscenes and when using the sniper rifle, motion blur is a post-processing filter that doesn't really change performance, and geometry detail is supposed to increase the object complexity, but in practice on the cards I tested it makes very little difference—set it to high and forget about it is my advice, as there are a few instances where it can affect shadows.(opens in new tab) (opens in new tab) (opens in new tab)
The above three images represent the High/Med/Low presets. Medium and High both look pretty similar and the world of New Bordeaux looks quite nice, but even the Low preset looks good—it wouldn't surprise me to find out the "Low" setting is basically what you get on a current-gen console. Lighting and reflections are clearly different, but I wouldn't say low quality looks bad—I might even argue that without the heavier antialiasing and other effects, the sharpness of the low preset is actually preferable to the other settings. But the water quality is definitely worse, so maybe reflections is one to turn back up if you have spare performance.
In terms of performance, I didn't conduct extensive testing with Mafia 3, but I did run tests using the three global presets, and I did a bit of checking on which of the individual settings have the largest impact on performance. What it comes down to is that there are two major settings that can tank performance: reflection quality and volumetric effects. Three other settings—ambient occlusion, shadow quality, and antialiasing—can have a moderate (maybe 5-10 percent) influence on framerates, depending on your hardware.
So how does the game run? Not so great. I can confirm that the game will struggle to hit 60 fps even on high-end hardware, at least if you want to run at the high preset. My test sequence consists of running around the city a bit, climbing into a car, and then driving along a set path. Indoor areas aren't as demanding, but a large portion of the game is spent in the city, and that's where players are most likely to encounter choppiness.
Digging into the specifics, I measured average frame rates of just 41 fps on a GTX 1070 at 1440p high—and 4K high cuts that nearly in half. Even at 1080p high, the 1070 only managed 53 fps, while 1080p medium bumped that up to 70 fps, and 1080p low yielded 100 fps. If you have lesser hardware, like a GTX 960 or R9 380, prepare for the worst if you want 60+ fps. A GTX 960 4GB card (R9 380 4GB was similar) scored 50 fps at 1080p low, and that dropped to 32 fps at medium and 24 fps at high.
You want 60+ fps? 1366x768 low got me there, but that's really hitting the bottom of the barrel. Ugh. RX 480 and GTX 1060 let you run 1080p low at around 70 fps, and the R9 390 and GTX 980 should come in at this level as well. Yeah—a GTX 980 is going to need to run the low preset (or turn antialiasing, reflections, and volumetric effects to low) to hit 60 fps.
I did a bit of poking around with CPU testing as well, just for good measure. My default configuration is a six-core i7-5930K at 4.2GHz; disabling four of the cores and running as a dual-core 4.2GHz part only dropped the GTX 960 about 10 percent at 1080p low, and 1080p high showed no difference. Faster GPUs are a different matter, however, with the GTX 1070 dropping down to 55 fps at 1080p low and 44 fps at 1080p high. Running a quad-core CPU mostly makes up for the deficit, but clock speed is still moderately important. Regardless, you're not going to hit silky smooth 60+ fps framerates at 1080p high with anything short of top-end hardware like the GTX 1080.
Final analysis and parting shots
So where did things go wrong? New Bordeaux to my eye doesn't look any better than Los Santos from GTA5, but performance is substantially lower—you can run 4K very high settings with 4xMSAA in GTA5 and get similar performance to 1080p high in Mafia 3.
Part of the difference may be in rendering effects that don't necessarily have a massive impact on visual quality but cause a big hit to performance, but that doesn't seem to be the only factor. Durante wrote recently about what 'optimization' really means, and why it's not always accurate to label a game as poorly optimized if it's simply a few specific settings that tank performance—and for valid reasons.
Volumetric effects and things like contact hardening shadows, screenspace reflections, antialiasing, and more can be seriously demanding. But while Mafia 3 is doing many of those items, it's not doing them particularly well—just look at this shot of Lincoln standing under a streetlight. During the daytime things seem to go better, but even then I still have to go back to that other open-world game, GTA5, and ask why this game is so much more taxing on hardware.
Deus Ex: Mankind Divided is another recent game that can eat graphics cards for breakfast, lunch, and dinner and come away still hungry. Unlike Mafia 3, it includes many more options to tweak, and the default 'medium' setting is arguably better than Mafia 3's 'high' option. Turn DXMD to 'ultra' and there aren't many PCs equipped to handle the workload, at least not yet. But in that game, I can point to various features and know why they kill performance for only a moderate improvement in visual fidelity. With Mafia 3, the answers are far less certain.
Going back to the original 30 fps cap, the most likely explanation in my mind is that the game and engine were built to achieve that modest (sluggish) goal, and not much more. The CPUs and GPUs I tested are far beyond the PS4 and Xbox One hardware, and even if the low preset does correlate to console settings, the resulting performance is still sketchy at best. The game engine (and story and mechanics, but that's another topic) needs a serious overhaul. To me, it feels like this is less of a badly optimized port and more of a poorly optimized game in the first place.