Way back in the mists of 2013 came the first whispers of Microsoft’s DirectX 12, and since then the hype train has yet to stop. With the release of DX12 drawing ever closer, a source who’ve spoken with Tom’s Hardware have revealed rather interesting information about an “Unspoken API”.
Microsoft’s new API will work “closer to the hardware” (or, “to the metal”) than older API’s, for example, DX11. Instead, it functions more like AMD’s Mantle (or if you want to jump back in to the late 90’s, Glide). This new approach brings rather large frame rate improvements to the PC, reduced latency, but that’s not all, you’ll be able to run both Nvidia and AMD GPU’s in the same PC’s, thus taking full advantage of the architectures of both GPU’s.
Explicit Asynchronous Multi-GPU Capabilities
DX12 will allow the games developers to easily split up the GPU’s resources however they so desire, the API gathers all graphics resources and store them into a single container.
As an example, a flaw in current multi GPU rigs (PC’s using Nvidia’s SLI or AMD’s CrossFire) is that the Frame Buffers (the onboard Video RAM on the card) are mirrored. So if you have two 4GB graphics cards, your total available video RAM is still only 4GB, because the data stored in both buffers is exactly the same. This is because one card (GPU A) renders one frame (frame 1) and GPU B renders the alternative frame, frame 2, and so on.
Not so with DirectX 12, at least according to rumors, and instead it’ll ship with a new technique available known as SFR (Split Frame Rendering). This type will allow developers to split the data either manually or automatically between the two cards. So for example, card A can handle a portion of the textures and geometry, while card B can handle another portion – and so on. This allows the GPU’s to split up the rendering workload of the screen into “portions” – each portion representing an installed GPU.
In effect, two GPU’s are treated as a single larger entity, rather than two separate cards. Resources can be better split, and tasks better assigned to the two cards. This will reduce latency compared to the more traditional AFR technique, because AFR requires a number of frames in a render queue, meaning that there can be up to several frames of animation difference between the on screen action and a users inputs.
Support for both AMD and Nvidia GPUs in the same PC?
The same source also indicates that DirectX 12 is capable of addressing different GPU architectures without any real problems. This means that if you own an AMD Radeon R9 290X you (in theory) could pair it with a GTX 980. They’ll work together to render the same frame of animation.
This is certainly interesting – particularly because both AMD and Nvidia have their own specific technologies and strengths and weaknesses. Do you fancy running FreeSync, True Audio and Hardware Physx in the same PC? What’s that friend, you do? Well, it could soon be a reality… which is pretty bloody cool if you ask me.
Another exciting possibility for this is multiple GPU’s in say laptops or other systems which run APU’s. You could simply plug the external GPU to the system and away you go, the DX12 will be able to run together in a much more efficient manner than currently available to games developers.
Not everything is perfect though – as one can imagine, this could also mean greater work for games developers. Because the developers are also coding lower level, there’s a greater chance that those studios who’re unfamiliar with PC coding (or even seasoned developers early on in DX12’s life) will cause a few game breaking bugs. Microsoft are touting DirectX 12 to be a friendly API than other low level API’s before it though, so it might not be too bad. Plus, because SFR does have an “automatic” mode (for lack of a better way of putting it) it might not be too painful to implement.
The reality of the matter is that we’re going to have to wait until at least GDC 2015 for more on how all of this works; that’s assuming that it’s accurate of course. But, assuming that it is accurate – then it’s rather exciting news.
I would be interested to see how Nvidia and AMD would feel about this possibility; particularly Nvidia, as they’re rather protective of their technologies. You might recall some users would run a GeForce GPU for Hardware Physx, while keeping AMD’s card for the “main graphics” GPU, but Nvidia released a driver update which stopped this, citing “compatibility problems” and other concerns.
For customer’s, it’s good news. We know that DX12’s performance is astounding, providing huge frame rate boosts over DX11. And of course there’s the additional details that are possible, including the ability to render movie like scenes in real time.
So, hold on to your butts and get ready for the future of PC gaming. 4K monitors are dropping in price, downsampling is common place, and who can forget Virtual Reality technology is getting ever more normal. With VR in particularly requiring not just high resolution, but also high frame rate we need all of the graphics power we can get.
Windows 10 should mark the launch of DX12, so here’s hoping!
Source: Toms Hardware