Dark Souls 3 port analysis: Durante's verdict
Peter "Durante" Thoman is the creator of PC downsampling tool GeDoSaTo and the modder behind Dark Souls' DSfix.
and the modder behind Dark Souls' DSfix. He has previously analyzed PC ports like Dark Souls 2and Tales of Zestiria, written an open letter to PC developers, and more.
As a first for the series, Dark Souls 3 is launching globally on PC alongside consoles, but does this mean we can expect the best Dark Souls PC port so far? That's the question I try to answer in this article, going into detail on the CPU and GPU requirements of this next-gen iteration of the series.
Beyond discussing all the game's graphical options - and elaborating which ones I consider essential and which I would turn down in a pinch - I've put particular effort into figuring out just how much CPU power is needed to guarantee a smooth 60 FPS. And talking about 60 FPS, due to the series' unfortunate history with that number I've also spent a considerable time hitting walls so you don't have to.
Before we start, an important remark: all the images in this article are taken in the first three major areas of the game, in order to minimize any risk of spoilers. Each performance measurement was repeated at multiple spots throughout the game for statistical validation, but not all the way to the end-game areas, and not in large-scale multiplayer.
Essential feature check and FPS behavior
To start things off, I decided to spend some time checking up on the basic features I consider essential. Dark Souls 3 supports arbitrary resolutions (tested up to 5120x2880) and variable frame rates up to 60 FPS.
The latter was also true for Dark Souls 2, but there was an issue: weapon degradation speed was tied to framerate. While it seemed unlikely for the same mistake to occur again, I still decided to spend some time hitting a wall with a sword a specific number of times. The results showed identical weapon degradation, but I can tell you that even hitting a wall felt better at 60 FPS.
Still not fully satisfied, I recalled that anunlocked framerate affected rolling distance in Dark Souls 1 and performed some further tests. The image below is an overlay of 6 separate rolling attempts from the same starting point, 3 at 30 FPS and 3 at 60 FPS, with the camera aligned. As you can see, I’m not perfect in angling my rolls or pressing the roll button on the exact same frame, but there is absolutely no visible trend indicating a framerate dependency in the length of the roll.
An overlay of the final position of my character after 6 rolling attempts, 3 at 30 and 3 at 60 FPS.Finally, to bring the topic of consistent behavior across framerates to a close, I had heard some rumors about fall damage being framerate-dependent. I initially thought I had actually managed to confirm that report - though only to the extent of a few pixels on my health bar—but after repeating the measurement three times at each framerate I realized that there is simply some general uncertainty as to the exact amount of damage sustained. The median turned out to be very close across both framerates, as you can see below.
Of course, these are just three facets out of myriad small things which could potentially go wrong. Nevertheless, after over 15 hours with the game and these in-depth tests I feel reasonably confident in stating that Dark Souls 3 plays very well indeed at 60 FPS.
Controls, audio and miscellanea
Before diving into the main topics of graphical options and performance, let’s quickly cover all the other points that contribute to the technical quality of a game.
Controls are very similar to Dark Souls 2, which means support for Xinput-compatible gamepads as well as decent mouse and keyboard options that are fully reconfigurable from within the game. For owners of a Steam controller, it should be noted that mouse and controller inputs are recognized at the same time, allowing for precise mouse camera controls while keeping all other actions bound to their default gamepad buttons.
Since multiple recent ports had trouble with particular audio setups—at least initially—I decided to test Dark Souls 3 with two, four and six channel audio at 44.1, 48 and 96 kHz. I’m happy to report that none of these configurations caused any issues, and that the latter two featured correct and convincing positional audio cues.
The “Auto” HUD setting is a great option for taking in the world of Dark Souls 3 with as few distractions as possible, while still having all information available when you need it.Some additional miscellanea which might be of interest:
Steam in-home streaming works well with the game, with a relatively minor performance loss and standard latency increase. There are three built-in HUD options, “on,” “off,” and a very neat one that automatically fades out individual elements based on their importance. The game does not natively support borderless fullscreen windowed mode, but it has no issues running in windowed mode and can easily be made borderless using external tools.Load times are a topic I almost forgot to mention, simply because they are so minuscule. On an SSD, I measured load times between 1.5 and 3 seconds on death or when warping between bonfires . Even on an old-school mechanical HDD, the game does not leave you waiting for long, with load times between 4 and 8 seconds depending on the area. If you want to read item descriptions, plan on doing so in the menu!
Overall graphical impressions
Unlike its predecessors, Dark Souls 3 is no longer held back by consoles with tiny 512MB total memory pools. This manifests, above all else, in greatly increased environmental detail, particularly in terms of geometric complexity.
Even looking at a simple cliff in the starting area makes it clear that environmental detail is massively improved in DS3 over its predecessors.Of course, many other aspects of the graphical presentation have been improved, from the quality of the ambient occlusion all the way to the motion blur. But for gamers coming from Dark Souls 2 on PC, I expect the single most striking difference to be found in the environment detail. It is interesting to note that all this detail—which can be compared favorably to some of the best examples out there—is apparently achieved entirely with “real” geometry, as I couldn’t discern any use of amplification technology like tessellation.
Of course, there are almost always some niggling graphical issues, and in Dark Souls 3 I’d qualify pop-in due to the transition between different level-of-detail meshes and culling as the most annoying ones. The former isn’t really any different from many other recent high-end games, but the latter occasionally causes significant portions of objects to unceremoniously pop into existence after quick turns. It’s hardly a game-breaker, but it is the most distracting visual artifact in the game for me.
CPU performance and frametime consistency
[ Update : Durante’s tests were performed on version 1.01 of Dark Souls 3. A recent, pre-release patch (1.03) eliminates the bizarre framerate drops seemingly isolated to a specific late game area. Using my game complete save file, I revisited the most taxing areas of the game that previously caused framerate fluctuations, and found them to stay at 60 fps without issue throughout. Durante's original write-up of the CPU performance is below. — James Davenport]
Since almost none of the settings available in the game—except for turning off shadows entirely, which I doubt many people will want to do—have a significant impact on its CPU performance requirements, I’ve decided to start off with an analysis of these before diving into graphics settings and GPU performance. All measurements are taken with maximum settings, but at lower resolution to eliminate potential GPU limitations and measure only the impact of CPU performance. Different CPU core counts were simulated by locking the game to a subset of cores on an Intel i7 5820K processor (note that each core corresponds to two hardware threads).
To start off this analysis, we are considering a performance metric that most gamers should be familiar with and have no problems interpreting: average and minimum FPS. Note that every point on these charts corresponds to me running the same sequence—consisting of some basic traversal, a battle, and rolling through a lot of clutter—so there is some inherent variability. And since I did it twice, there’s also an inherent potential for me to go crazy, but I managed.
95th percentile frametimes
The average FPS numbers are included mostly because it’s such a commonly used value in benchmarks, but I don’t think they are particularly useful as an indication for how well you can actually play the game. Focusing on the much more important minimum FPS metric, we see that 4+ cores with at least 3.1 GHz stay within the green area, which is what I would classify as very playable 60 FPS. The same applies to just 2 cores (4 hardware threads) at 4.2 GHz.
Another clear result from this data is that 6 cores don’t really increase performance at all over 4 cores in this particular game, though it does scale up pretty well with parallelism up to 4 cores.
While minimum FPS give a decent indication of how well the game plays overall, to fully capture the experience a more fine-grained measurement is required. The chart to the right shows the 95th percentile frametimes in milliseconds, or in other words the minimum time the 5% longest frames in the sequence took to complete.
Most of the conclusions from this look at the data are similar to those for minimum FPS, but it does make it even clearer that the higher the CPU frequency the better for truly smooth gameplay at 60 FPS. Interestingly, it also seems like restricting the game to 4 cores (or 8 hyperthreads) actually slightly increases its frametime consistency, at least in the sequence I measured.
All of the observations above remain true throughout most of the game, however, there are specific areas later on which were [Ed note: See update above] significantly more demanding.
The charts above show measurement results for one such area. The single-core CPU result was omitted, since measuring it would risk being thrown out of the game due to low framerate and generally not be particularly useful. In some ways, what we observe here is similar to the previous results: 6 cores are not meaningfully better than 4, but 2 suffer from a lack of parallelism. Far more stunning though—and not quite what you would expect given the visuals on display—is the sheer level of (primarily sequential) CPU grunt necessary to maintain high framerates.
Even at 4.2 GHz, only an average of 51 FPS can be achieved, and performance drops almost linearly with lower frequencies. I would love to know the internals behind the performance of this particular part of the game, and also whether it is the one I’ve heard referred to an “appalling slideshow” on consoles.
In any case, what does all of this mean? Well, for one, that if you have any recent i5 or i7 Intel desktop CPU, you need not worry about maintaining a 30 FPS minimum on the CPU side in Dark Souls 3. It also means that getting a truly consistent 60 FPS is much harder: throughout most of the game, it requires 4 cores at high-end desktop CPU speeds, and in a few areas it might prove impossible on any standard system. Overclocking a brand new i7-6700K may help bump up your minimum framerate in the game's most CPU-bound areas, but likely won't guarantee a locked 60 FPS.
Post a Comment