Final Fantasy XIII and XIII-2 port analysis: Durante's verdict

The Witcher 3: Wild Hunt

You are Geralt of Rivia, mercenary monster slayer. Before you stands a war-torn, monster-infested continent you can explore at will. Your current contract? Tracking down Ciri — the Child of Prophecy, a living weapon that can alter the shape of the world.

Screenshot 2014-12-04 17-54-30 9

Peter "Durante" Thoman is the creator of PC downsampling tool GeDoSaTo and the modder behind Dark Soul's DSfix. He's previously analyzed the PC ports of Dark Souls II and Valkyria Chronicles for PC Gamer.

When Square-Enix announced ports of all three Final Fantasy XIII games (XIII, XIII-2 and Lightning Returns) to PC this September, it came as a surprise. The last Final Fantasy released on PC excluding a few recent mobile ports—was Final Fantasy 8 in 1999. Would XIII s port be any good? Square Enix promised support for a 60 fps framerate, but those mobile ports, like Final Fantasy III, haven t exactly been promising. Sure enough, when Final Fantasy XIII was released on PC in October, it was limited to 720p and had other performance issues.

Since then, Square Enix promised to patch XIII and to support various resolution options at 60 fps with XIII-2, released on December 11. This article will investigate the quality of XIII-2 s port and Final Fantasy XIII, devoting particular attention to the controversial performance impact of the December patch.

The state of Final Fantasy XIII pre-patch

At release, everyone skeptical of Square Enix s PC ports would be proven right. Final Fantasy XIII was locked at a 1280x720 rendering resolution, with no graphical options at all to speak of. Interestingly enough, the game also defaulted to using 4xMSAA, but more on that later.

Soon after release, I stepped in and provided a GeDoSaTo plugin which enabled support for arbitrary rendering resolutions.

Ff13 First Screen

The screenshot above was taken right after I first got arbitrary rendering resolution support to work. I continued extending the plugin to add support for higher-resolution shadows (you can see how necessary that is on Lightning s arm and face in the shot above), higher levels of anti-aliasing and forced anisotropic filtering for UI elements.

What I could not fix was unstable performance and hiccups down from 60 FPS down to 30 on many systems. My current working theory is that this is related to the engine trying to perform some kind of frame pacing, but without access to the source code that is hard to ascertain.

The graphics options of FFXIII and FFXIII-2

After a few weeks of silence, Square-Enix announced that they would provide a patch adding graphic options to FFXIII, and that FFXIII-2 was to offer those options at release already. The resulting launcher screen is shown below. As both games ended up with the same options, I ll simply show examples from FFXIII-2.

Final Fantasy XIII Options

Resolution lists everything your system supports, shadow resolution goes from 512 to 8192 , and anti-aliasing starts at 2x (due to the way the game renders transparency e.g. on hair, no AA at all is not supported) and goes up to 16x. If this selection of graphics options sounds familiar to you, that feeling is no surprise: with the exception of the missing anisotropic filtering, it s the same selection as that offered by my GeDoSaTo plugin. Not only that, but both games even feature the same bug when rendering at 2560x1440 which occurred with GeDoSaTo. If you have a monitor of that native size, your best option is to apply at least some downsampling, either using your driver facilities or GeDoSaTo.

To be clear, I m not complaining about this selection of options, or about taking inspiration from my work—that s great. But with the relative luxury of source code access making more comprehensive changes much easier to accomplish, and professionals working on the game, wouldn t it be nice to go beyond that?

Regardless of the provenance of these options, the real question is how effective they are. Let s have a closer look.

Shadow resolution

The shadow resolution setting affects the resolution of real-time rendered character shadows. The following image shows a comparison between the moderate 1024x1024 and maximum 8192x8192 settings.

Final Fantasy XIII-2 Shadowres

Shadows are notably more detailed, but more importantly—and sadly not visible in the image—they are far more stable in motion. However, the implementation of shadow resolution increases is somewhat half-baked. Using higher resolution shadows results in increasingly harder shadow boundaries, as the soft shadow filter is not being adjusted to match. Therefore, I d suggest using a resolution in the 2048 to 4096 range.

Anti-aliasing

While the settings screen shows a range of 2x to 16x MSAA , what is actually on offer at the higher levels is CSAA—understandable, as no hardware exists which actually supports 16xMSAA. In any case, it is extremely important in this context to note that unlike the vast majority of higher-end games over the past half-decade at least, Final Fantasy XIII and XIII-2 are pure forward renderers. What this means is that, unlike in most recent games which opt for deferred shading in order to support modern post-processing effects and a large number of lights more easily, hardware MSAA is both effective and relatively cheap in terms of performance.

Final Fantasy XIII-2 AA

If you look at the comparison image above at full resolution, you can easily see the difference between the two settings. Two types of objects are particularly affected by the AA level:

  • High-contrast edges at an angle close to vertical/horizontal, for example the horizontal edge between the wood and the white area in the image. With 2xMSAA, there is only one intermediate (grey) step in the staircase, while 16xCSAA is perfectly smooth.
  • Transparent objects such as hair. The FFXIII engine uses a so-called alpha-to-coverage technique to render such transparencies, which render them with less flickering and more detail with larger sampling counts. This is particularly apparent in motion.

Due to the relatively low performance impact and significant image quality advantages, I d suggest using the highest quality anti-aliasing option supported by your hardware in these games.

On the next page: analyzing the performance of Final Fantasy XIII-2 and the FFXIII patch.

Performance analysis

Final Fantasy XIII s performance has been a hotly discussed topic since its release. While the game is not particularly demanding in terms of hardware and can be rendered at high resolutions even on modest systems, many players experience frame rate stutter and drops below 60 FPS directly to 30 FPS in various circumstances, seemingly unrelated to hardware capabilities. As I explained earlier, I believe this problem to be related to the engine trying to perform some frame pacing on its own (and mostly achieving the opposite).

Some expected the patch to improve this situation, but reports since its release have been mixed. Some claim that it fixed or at least mitigated the issues, while others feel that performance actually decreased. I don t believe in feelings when it comes to quantifiable data, so I performed a rather extensive set of benchmarks to find out exactly what is going on.

Final Fantasy XIII Screenshot 2014-11-29 22-54-51 26

Performance impact of the FFXIII patch

I chose three locations in the game to benchmark both pre- and post-patch, each representing a different gameplay scenario:

  • Chapter 1: Into The Vestige—Skybridge 103: Exploration with lots of NPCs in a narrow corridor, running the full length up and down once.
  • Chapter 6: Sun-dappled Flight—Sun-dappled Trail: Running up to and fighting the first party of enemies to completion.
  • Chapter 10: What Fal cie want—The Fifth Ark-Upper Traverse: Running up to the first cutscene, that scene, and roughly 15 seconds of battle.

I measured each of these scenes using the new performance tracing functionality of GeDoSaTo, twice pre-patch and twice post-patch. As there are some random factors (especially in battle), the individual runs are not 100% equivalent, but the variation between each set of two runs was less than 4% in all metrics.

 Average FPS75% frame95% frame99% frame
 PrePostPrePostPrePostPrePost
Chapter 150.651.617.517.433.633.534.334.2
Chapter 634.534.533.633.634.334.235.134.6
Chapter 1045.046.332.732.734.033.934.334.4

The columns in the table above with the delta ( ) symbol represent the interval between consecutive frames in milliseconds.

As the summary in the table above indicates, there is no statistically significant difference in performance before and after the patch in any of the scenes I tested. As such, I believe it can be stated with confidence that there were no performance changes one way or the other introduced by the patch at all. To further solidify this point, the following chart illustrates the frametimes of the chapter 10 measurement sequence in patched and unpatched state:

Final Fantasy XIII performance Chart

The two spikes above 33ms happen at the start of the cutscene and the start of the post-cutscene battle, respectively. As we can see, not only is the overall performance incredibly similar (showing a distinct switching pattern between ~16 and ~33ms frame times, thus 60 and 30 FPS), even the individual spikes during exploration and the cutscene are a rather close match. This continues throughout the opening part of the battle, diverging a bit later on due to battle randomness.

Final Fantasy XIII-2 performance

Sadly, FFXIII-2 suffers from the same performance pattern that we could observe in its predecessor. The engine still seems to be dead-set on providing either roughly 16ms or 33ms frame time intervals, and jumping between them from time to time. However, in my testing so far, the overall performance is a lot more stable than for FFXIII. The following chart contains frame time traces for an exploration and a battle sequence, and the game achieved an average of ~58 FPS during each of them. However, this average does not fully capture the repeated spikes to 33 ms frametimes, which prevent smooth-feeling gameplay:

Final Fantasy 13 2 Chart

One positive aspect regarding both games performance is that—in my experience—they never drop below 30 FPS, outside of the occasional loading of battles or cutscenes. And those cases usually occur during a black screen transition and therefore aren t noticeable. The same is true for the few spikes up to 50ms visible in the frame time plot.

Therefore, by using an external tool such as the GPU driver to limit the framerate to 30 FPS, a very consistent experience can be achieved—and for people who are less affected by the occasional drop, the 60 FPS support should at least be usable in FFXIII-2.

Controls, audio and tweaking

Both FFXIII and FFXIII-2 support keyboard and mouse controls. These can be remapped, and while the button prompts don t switch automatically between controller and keyboard, there is an option for it in the menu. Though these controls work well enough, this is not a case of, say, Valkyria Chronicles, where the inherent nature of the game made them preferable to a controller.

In terms of audio, FFXIII-2 seems to be affected by a bug related to the number of audio channels offered by your driver and sound hardware. On my system, I ve observed the following:

  • 2 channels (stereo): everything works fine
  • 4 channels: some voices and sound effects come from the entirely wrong direction
  • 6 channels: everything works fine again
  • 8 channels: consistent white noise from some channels drives you crazy

As such, at least until/unless this issue is patched, you should probably set your audio driver to either 2 or 6 channels, and let it up/down-mix to your actual hardware configuration.

Finally, the most applicable external tweaks to perform on the game are forcing anisotropic filtering, which I d consider essential, and—if you value consistent performance—lock the framerate to 30FPS using a tool like Nvida Inspector or Rivatuner Statistics Server. My preference would of course be to also use GeDoSaTo in order to get image quality to the best standard afforded by your hardware via downsampling, and take some HuD-less screenshots of the games beautiful locales.

Final Fantasy XIII Screenshot 2014-12-03 22-56-56 9

Conclusions

With the release of Final Fantasy XIII-2 and the patch to its predecessor, Square-Enix delivered exactly what they said they would—graphics options—but no more than that. The intermittent performance stutters remain unsolved, and the selection of options only covers the bare minimum.

Personally, I find it both flattering and somewhat worrying that the graphics options they did decide to include match the ones I implemented (by means of an unauthorized interception method without any access to the game s source code, and within a couple dozen or so hours of hobbyist work) so closely. Is there really no interest in the company to give a single graphics programmer a month or so to develop some highly meaningful features, such as better shadow filtering or a higher quality depth of field implementation? Perhaps fix whatever causes the engine hiccups?

It s a shame to see such an incredibly beautiful game world with so much effort put into its art assets neglected to this extent. Of course, the situation now is already vastly better than the locked 720p without any options offered at release, and these are obviously the best versions of each game to play by a huge margin, but much more could be achieved with a bit more focused effort.