Quality modes, frametimes DX12 ASYNC on or off
Quality modes and performance
Right, before we dive into the deeper stuff, we look at the guys and gals on a budget. This game offers four quality settings modes from low to Ultra High. Considering at 1080p even entry-level graphics cards achieve good frame-rates at Ultra high setting, this will be the quality settings used. Hey, you are playing games on a PC, and that is all about the PC experience, proper image quality. While we test at ultra quality settings, we also understand that many people have a budget graphics card.
In the above chart, you can see the differences in performance in-between the three quality modes versus Full HD (1920x1080), WQHD (2560x1440) but also Ultra HD (3840x2160). Should you need to drop a quality mode performance wise, high-quality mode already makes a big difference. Low and medium quality modes are just not worth the image quality or performance benefit IMHO (unless you use an IGP or something). BTW the card used above in the chart is merely a GeForce GTX 1060 6GB.
Okay, the more serious stuff then.
Frametime and latency performance
The charts below will show you graphics anomalies like stutters and glitches in a plotted chart. Frame time and pacing measurements.
Frame time in milliseconds |
FPS |
8.3 | 120 |
15 | 66 |
20 | 50 |
25 | 40 |
30 | 33 |
50 | 20 |
70 | 14 |
- FPS mostly measures performance, the number of frames rendered per passing second.
- Frametime AKA Frame Experience recordings mostly measures and expose anomalies - here we look at how long it takes to render one frame. Measure that chronologically and you can see anomalies like peaks and dips in a plotted chart, indicating something could be off.
We have a detailed article (read here) on the methodology used. Basically the time it takes to render one frame can be monitored and tagged with a number, this is latency. One frame can take say 17 ms. Higher latency can indicate a slow framerate, and weird latency spikes indicate a stutter, jitter, twitches; basically, anomalies that are visible on your monitor. What these measurements show are anomalies like small glitches and stutters that you can sometimes (and please do read that well, sometimes) see on screen. Below I'd like to run through a couple of titles with you. Bear in mind that Average FPS often matters more than frametime measurements.
As you might have observed, we're experimenting a bit with our charts to give it a little more clarity. At the left side, you can see the frame time in milliseconds (ms). At the x-axis, 30 seconds of the game spread out over roughly 1400~1500 frames. Please understand that a lower frame time is a higher FPS (!), so for these charts, lower = better. Huge spikes would be stutters, thicks lines would be bad frame pacing, and the graduate streamlining is framerate variation.
Direct X 12 ASYNC on or off?
With the frame times and pacing out of the way, we can do some other stuff. The technique used is really handy to measure other stuff to check out behaviouristics. We've talked about DX12 ASYNC compute many times in the past. This game specifically offers an option to turn it off, or on. History has proven that poorly optimized games actually can suffer from DX12 ASYNC on. That's different from this one. We take two brands again and have a peek by running both modes.
For NVIDIA I took a GeForce GTX 1080 again. The dark line is the card in the 30 seconds test with DX12 ASYNC ON, light grey is DX12 SYNX OFF. As you can see, NVIDIA benefits really well from DX12 ASYNC. Also, frame times and pacing overall look great.
AMD then, I took a Vega 56 here, which is holding up remarkably well in this game. You can see that the frame times are definitely closer towards each other than the previous one with the GeForce, however, it is evident that AMD benefits from ASYNC compute on as well. So if you opt DX12 as render path for this game, turn DX12 ASYNC on. Both measurements have been performed at 2560x1440 at Ultra quality settings. Also, frame times look good, pacing however at an incredible small millisecond window is a showing more variance for AMD. However, take note of the next plot.
Now I specifically point you here, the AMD frame pacing remark is really something small. For plots like these, you need to scale the plot at 50ms (=20 fps) on the y-axis, as only then you understand how small that frame pacing variety really is. So what about Vulkan versus DX12 ASYNC On then? Well, next page, please.