Exclusive: DirectX 12 Will Allow Multi-GPU Between GeForce And Radeon
We have early information about some of the details regarding DirectX 12, and what follows will surprise you.
A source with knowledge of the matter gave us some early
information about an "unspoken API," which we strongly infer is DirectX
12.
We first heard of DirectX 12 in 2013, and DirectX 12 appears to
finally be around the corner. It's expected to launch in tandem with the
upcoming Windows 10 operating system.
The new API will work much differently from older APIs, and it's
common knowledge by now that it will be "closer to the hardware" than
older APIs, similar to AMD's Mantle. This will bring massive
improvements in framerates and latency, but that's not all that DirectX
12 has up its sleeve.
Explicit Asynchronous Multi-GPU Capabilities
One of the big things that we will be seeing is DirectX 12's Explicit
Asynchronous Multi-GPU capabilities. What this means is that the API
combines all the different graphics resources in a system and puts them
all into one "bucket." It is then left to the game developer to divide
the workload up however they see fit, letting different hardware take
care of different tasks.
Part of this new feature set that aids multi-GPU configurations is
that the frame buffers (GPU memory) won't necessarily need to be
mirrored anymore. In older APIs, in order to benefit from multiple GPUs,
you'd have the two work together, each one rendering an alternate frame
(AFR). This required both to have all of the texture and geometry data
in their frame buffers, meaning that despite having two cards with 4 GB
of memory, you'd still only have a 4 GB frame buffer.
DirectX 12 will remove the 4 + 4 = 4 idea and will work with a new
frame rendering method called SFR, which stands for Split Frame
Rendering. Developers will be able to manually, or automatically, divide
the texture and geometry data between the GPUs, and all of the GPUs can
then work together to work on each frame. Each GPU will then work on a
specific portion of the screen, with the number of portions being
equivalent to the number of GPUs installed.
Our source suggested that this technology will significantly reduce
latency, and the explanation is simple. With AFR, a number of frames
need to be in queue in order to deliver a smooth experience, but what
this means is that the image on screen will always be about 4-5 frames
behind the user's input actions.
This might deliver a very high framerate, but the latency will still
make the game feel much less responsive. With SFR, however, the queue
depth is always just one, or arguably even less, as each GPU is working
on a different part of the screen. As the queue depth goes down, the
framerate should also go up due to freed-up resources.
The source said that with binding the multiple GPUs together, DirectX
12 treats the entire graphics subsystem as a single, more powerful
graphics card. Thus, users get the robustness of a running a single GPU,
but with multiple graphics cards.
It should be noted that although the new Civilization: Beyond Earth
title runs on Mantle, it has an SFR option and works in a similar way
because AMD's Mantle API supports SFR. Mind you, Split Frame Rendering
is not a new trick by any means. Many industrial film, photography, and
3D modelling applications use it, and back in the 90s some game engines
also supported it.
Of course, chances are you won't be able to use all of the options
described above at the same time. Split frame rendering, for example,
will still likely require some of the textures and geometry data to be
in multiple frame buffers, and there may be other sacrifices that have
to be made.
Build A Multi-GPU System With Both AMD And Nvidia Cards
We were also told that DirectX 12 will support all of this across
multiple GPU architectures, simultaneously. What this means is that
Nvidia GeForce GPUs will be able to work in tandem with AMD Radeon GPUs
to render the same game – the same frame, even.
This is especially interesting as it allows you to leverage the
technology benefits of both of these hardware platforms if you wish to
do so. If you like Nvidia's GeForce Experience software and 3D Vision,
but you want to use AMD's TrueAudio and FreeSync, chances are you'll be
able to do that when DirectX 12 comes around. What will likely happen is
that one card will operate as the master card, while the other will be
used for additional power.
What we're seeing here is that DirectX 12 is capable of aggregating
graphics resources, be that compute or memory, in the most efficient way
possible. Don't forget, however, that this isn't only beneficial for
systems with multiple discrete desktop GPUs. Laptops with dual-graphics
solutions, or systems running an APU and a GPU will be able to benefit
too. DirectX 12's aggregation will allow GPUs to work together that
today would be completely mismatched, possibly making technologies like
SLI and CrossFire obsolete in the future.
There is a catch, however. Lots of the optimization work for the
spreading of workloads is left to the developers – the game studios. The
same went for older APIs, though, and DirectX 12 is intended to be much
friendlier. For advanced uses it may be a bit tricky, but according to
the source, implementing the SFR should be a relatively simple and
painless process for most developers.
Queueing frames has been a difficult point for various studios, such
that on some games SLI or CrossFire configurations don't even work. The
aggregation together with SFR should solve that issue.
That's as far as we can reach into the cookie jar for now, but we expect to see and learn more at GDC.
Source : Tomshardware.com
0 comments:
Post a Comment