AMD Sheds More Light on Explicit Multiadapter in DirectX 12 in New Slides
We already know that DirectX 12 and Vulkan are going to represent revolutionary steps forward in the world of graphics. The inclusion of many new technologies and the decrease in overhead have the potential to dramatically push forward the capabilities of GPU’s. AMD has released a set of slides detailing the excitement that developers are showing towards the adoption of DirectX 12 with AMD GPU’s in particular.
AMD offers insight into the benefits of Explicit Multiadapter in DirectX 12 with their GPU’s in future games, with increases in performance that even astound developers.
Some of the benefits of DirectX 12 have been covered in great detail here. Asynchronous shaders, increased multi-core scaling and even general driver efficiency all have tremendous benefits that can only prove to increase the complexity of the games we play.
AMD has some very interesting features that only their GPU’s can take advantage of at the moment, and thus might become far more competitive than most might think.
Explicit Multiadapter is the real winner here. It allows for the use of any GPU in the system, regardless of manufacturer. This is exciting, because with DirectX 12, you’ll be able to offload minor compute tasks to the integrated GPU, or APU.This has been shown to great effect with Square Enix’s Witch demo. This is helpful since native support means that GPUs aside from the ones specified in AMD’s drivers will be able to use Dual Graphics technology allowing the discrete graphics card and APUs to work in harmony. It’s able to increase framerates by a not insignificant amount.
Split-Frame Rendering, the way in which multiple GPU’s handle the rendering pipeline. In DirectX 11 an alternate frame rendering mechanism was used, where one GPU rendered the first frame, then the other GPU was already rendering the next. The queuing of frames sometimes led to the annoying stuttering experienced. New to DirectX 12, however, is a split-frame rendering mode where each GPU is tasked with rendering half of the frame. This can significantly reduce frame-time, increase responsiveness and is a far more efficient use of multiple GPU’s.The overhead will be reduced and the stuttering should theoretically be all but erased.
Something else new mentioned in these slides is the use of combined memory pools. It used to be that in order to keep both of the GPU’s working together, everything in the workload was kept in the memory of each card, so none of the workload was divided. In DirectX 12, however, the memory pool can be shared across all GPU’s, so that if the frame being rendered by one is particularly memory hungry then it can access the RAM of the other cards if necessary. While we’ve seen GPU RAM usage spike with recent games, now all the assets will be put in the shared pool, accessible by any GPU available, even integrated solutions.
AMD offers great control over the threading and control of shaders themselves, meaning that one can take control over what gets rendered and on what device. This can improve the efficiency by a few orders of magnitude. Brad Wardell himself has noted how this allows for far better games.
If we were running DirectX 11, you are not going to run [Ashes of the Singularity] at 4K. It's not even a possibility.
Asynchronous shaders alone have the ability to take advantage of resting computing power to try to finish other tasks.Meaning that the graphics pipeline is no longer strictly linear, and shaders can be used out of order to do whatever necessary tasks are available. It’s fascinating stuff, using resources that otherwise might keep GPU utilization either low, or not efficient at all. Dan Barker from Oxide games is especially pleased with the performance increase that can be achieved.
With async shaders, we can fill parts of the GPU that [would[ otherwise be forced to sit idle. It’s one of those features we wish we had on every GPU.
While the performance boost is tied to a number of different factors, it still remains one of the leading benefits that translates well into gaming. What does this actually mean? Higher FPS and more complex scenes. Crucially, we might be able to start using the GPU for other compute related tasks so as to free up the CPU for other great novel ideas.. It could even open the door for a more open physics engine standard that takes advantage of those gaps in GPU usage.
Jaymin Kessler, at Q-Games, told AMD that being able to offload a great deal of their rendering pipeline to the GPU as compute has helped them to enable some very fascinating scenes in The Tomorrow Children.
At Q-Games, we tend to shy away from traditional hyper realistic rendering styles. On The Tomorrow Children, the flexibility offered by moving the bulk of our rendering work to compute was just too great not to take advantage of. The combination of asynchronous compute filling in the gaps between graphics shaders, and the fine grained control GCN gives over work scheduling and wavefront limits means we saved between 6 and 9 milliseconds in our frame. It really made a lot of things possible that would have been incredible difficult otherwise.
DirectX 12 is certainly something to look forward to, with a host of benefits that even older hardware can take advantage of. Thankfully because of AMD's contributions of DirectX 12, their GPU's will be placed perfectly to take advantage of some novel features for far better performance and better looking games than we're currently used to seeing. It's a step forward, a revolutionary step forward, for graphics technology.
Deus Ex: Mankind Divided and Ashes of the Singularity are two games that are currently being developed solely with DirectX 12 in mind. Deus Ex: Makind Divided will also use AMD's new TressFX 3.0. All of this means that they'll likely look good and include complex gameplay without a huge performance penalty.