The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarmby Ryan Smith on February 6, 2015 2:00 PM EST
- Posted in
- DirectX 12
Frame Time Consistency & Recordings
Last, but not least, we wanted to also look at frame time consistency across Star Swarm, our two vendors, and the various APIs available to them. Next to CPU efficiency gains, one of the other touted benefits of low-level APIs like DirectX 12 is the ability for developers to better control frame time pacing due to the fact that the API and driver are doing fewer things under the hood and behind an application’s back. Inefficient memory management operations, resource allocation, and shader compiling in particular can result in unexpected and undesirable momentary drops in performance. However, while low-level APIs can improve on this aspect, it doesn’t necessarily mean high-level APIs are bad at it. So it is an important distinction between bad/good and good/better.
On a technical note, these frame times are measured within (and logged by) Star Swarm itself. So these are not “FCAT” results that are measuring the end of the pipeline, nor is that possible right now due to the lack of an overlay option for DirectX 12.
Starting with the GTX 980, we can immediately see why we can’t always write-off high-level APIs. Benchmark non-determinism aside, both DirectX 11 and DirectX 12 produce consistent frame times; one is just much, much faster than the other. Both on paper and subjectively in practice, Star Swarm has little trouble maintaining consistent frame times on the GTX 980. Even if DirectX 11 is slow, it is at least consistent.
The story is much the same for the R9 290X. DirectX 11 and DirectX 12 both produce consistent results, with neither API experiencing frame time swings. Meanwhile Mantle falls into the same category as DirectX 12, producing similarly consistent performance and frame times.
Ultimately it’s clear from these results that if DirectX 12 is going to lead to any major differences in frame time consistency, Star Swarm is not the best showcase for it. With DirectX 11 already producing consistent results, DirectX 12 has little to improve on.
Finally, along with our frame time consistency graphs, we have also recorded videos of shorter run-throughs on both the GeForce GTX 980 and Radeon R9 290X. With YouTube now supporting 60fps, these videos are frame-accurate representations of what we see when we run the Star Swarm benchmark, showing first-hand the overall frame time consistency among all configurations, and of course the massive difference in performance.
Post Your CommentPlease log in or sign up to comment.
View All Comments
dakishimesan - Friday, February 6, 2015 - linkBecause DirectX 10 and WDDM 2.0 are tied at the hip, and by extension tied to Windows 10, DirectX 12 will only be available under Windows 10.
dakishimesan - Friday, February 6, 2015 - linkPS: great article.
FlushedBubblyJock - Sunday, February 15, 2015 - linkFirst thoughts: R9 290X dx11=8 frames mantle=46 frames TEST= TOTAL FRAUD
Although the difference there is what AMD told us mantle would do, only in this gigantic liefest is such hilarity achieved.
Another big industry lie-test blubbered out to the sheep at large.
0ldman79 - Monday, February 16, 2015 - linkIt looks more like the people that coded that game are not very experienced and have spent far more time optimizing for future API than DX11.
Christopher1 - Monday, February 16, 2015 - linkNot necessarily. DX11 no matter how 'optimized' still does not get you as close 'to the metal' as Mantle does. So yes, there can be these kinds of extreme differences in FPS.
The_Countess666 - Thursday, February 19, 2015 - linkthey are in fact very experienced. but they choose to do the things that previously DX11 bottleneck prevented them from doing in the past.
0ldman79 - Saturday, February 21, 2015 - linkThat makes sense, still not quite an apples to apples comparison in that situation, though using previously unavailable features on the new API tends to show the differences.
The question still remains, will we see similar improvements on the current crop of DX11 games?
I don't think that will be the case, though I could be wrong.
Seems the gains are from multithreading, which is part of the DX11 or 11.1 spec.
RobATiOyP - Sunday, February 21, 2016 - linkOf course you won't see such a performance increase, because games have to be designed and tuned to what the platform is capable of. The console API's have allowed games, lower level access, Mantle, DX12 & Vulkan are about removing a bottleneck caused by the assumptions in DX11 & OpenGL API's which were designed when GPUs were novel items and much evolution has occured since. Those doubting the benchmark, please say why a graphics application would not want to do more draw calls per second!
Fishymachine - Monday, February 16, 2015 - linkDX11 can manage up 10k draw calls, Star Storms makes 100k. Also Assasins Creed Unity makes up to 50k in case you wanted a retail game that would skyrocket in low API(there's a spot where even 2 GTX980 get 17fps)
The_Countess666 - Thursday, February 19, 2015 - linkthis engine was spefiically written to do all the things that previously DX11 doesn't allow game developers to do. it was designed to run headlong into every bottleneck that DX11 has.
it is in fact a great demonstrations of the weaknesses of DX11.
the fact that nvidia gets higher framerates in dx11 then ATI is because they optimized the hell out of this game. that isn't viable (costs too much, far too time consuming) for every game and was purely done by nvidia for marketing, but all it really does is further illustrate the need for a low level API where the burden of optimizations is shifted to the game engine developers where it belongs, not the driver developers.