DirectX 12 will be able to use your integrated GPU to improve performance

ponder

Honorary Master
Joined
Jan 22, 2005
Messages
99,312
Reaction score
31,735
Location
Niflheimr
Not a new article but I have not heard about this feature yet.

http://www.pcgamer.com/directx-12-will-be-able-to-use-your-integrated-gpu-to-improve-performance/

DirectX 12 will be able to use your integrated GPU to improve performance
Bo Moore May 5, 2015

Microsoft has been busy showing off the features of the upcoming DirectX 12 API, and its last big reveal is a doozy. A feature called Multiadapter will allow DirectX 12 to use multiple GPUs—more specifically, Multiadapter will allow developers to use the integrated GPUs in Intel's modern desktop processors and AMD's APUs alongside a dedicated graphics card. This could mean a nice little performance bump in DX12 games, as developers can draw on hardware that's been sitting dormant until now.

Previously, for a system to utilize multiple graphics cards, those GPUs needed to be linked either via Nvidia's SLI or AMD's Crossfire technology—both of which typically required the same GPU series to be compatible. Multiadapter, on the other hand, will allow individual GPUs to be addressed separately, send unique commands, and store unique data in memory.

There are a couple layers to Multiadapter: Implicit and Explicit Multiadapter. Implicit will work more or less like previous versions of DirectX, where the API handles alternate frame rendering across a pair of linked GPUs in SLI/Crossfire. AMD and Nvidia will still need to work with developers to create multi-GPU profiles for games to best take advantage of both cards.

Things get more complicated with Explicit Multiadapter, which is new in DX12. Explicit Multiadapter will have two distinct API patterns: Linked GPUs and Unlinked GPUs. Linked GPUs refer to the special pairing of specific hardware, similar to what we're familiar with via SLI and Crossfire. DirectX 12 will view linked GPUs as a single GPU, allowing them to collaborate more closely and share resources in each other's rendering pipeline.

Unlinked GPUs, meanwhile, will allow systems to benefit from, say, installing an Nvidia card alongside one from AMD, as was rumored a few months ago. It will also allow systems with a dedicated GPU to take advantage of onboard graphics, which is the biggest feature Microsoft is touting.

Microsoft posted these slides as examples, showing a single Nvidia graphics card running a benchmark against a multiadapter setup pairing the same graphics card with the integrated Intel Core processor GPU.

"We recognized that most mixed GPU systems in the world were not making the most out of the hardware they had," Microsoft's Andrew Yeung said in a blog post. "So in our quest to maximize performance, we set out to enable separable and contiguous workloads to be executed in parallel on separate GPUs. One such example of separable workloads is postprocessing.

"Virtually every game out there makes use of postprocessing to make your favorite games visually impressive; but that postprocessing work doesn’t come free. By offloading some of the postprocessing work to a second GPU, the first GPU is freed up to start on the next frame before it would have otherwise been able to improving your overall framerate."

As you can see in the example above, adding in the processing power of an integrated GPU doesn't make a big difference. But it does make a difference. And since virtually every desktop gaming PC has an integrated GPU in it currently going to waste, that's performance you're getting without spending an extra dime.

It may be free performance for gamers, but that doesn't mean it's free for developers to implement. As PCPer points out, "Unlinked Explicit Multiadapter is also the bottom of three-tiers of developer hand-holding. You will not see any benefits at all, unless the game developer puts a lot of care in creating a load-balancing algorithm, and even more care in their QA department to make sure it works efficiently across arbitrary configurations."

Likewise, DirectX12 making it possible for Nvidia and AMD graphics cards to work together doesn't guarantee either company will happily support that functionality. But the potential is promising. If you need a visual representation, just watch the DX12 demo Square Enix and Microsoft put together.
 
That's very interesting news. My HD5000 can't do much but it will give a little boost. Actually it's currently driving the TV on a separate video output.
 
That's very interesting news. My HD5000 can't do much but it will give a little boost. Actually it's currently driving the TV on a separate video output.

Even if it just adds 1-3fps it counts I reckon :D
 
We've actually had this in a shipping DX11 title, which used a similar method like multiadapter - Codemaster's GRID 2. Supposedly, if you were running an Intel Haswell processor with HD4000 or newer graphics, you could enable Advanced Blending and Smoke Shadows, which make use of the iGPU to run these graphical options to make the smoke effects look better. It was rather buggy at first and it doesn't play very well with Optimus systems, only desktops, really. Intel calls it PixelSync. But, it works (some of the time for some of the people) and that's a fairly close approximation to what multiadapter is supposed to do and offer to game developers. Rome II: Total War also has it hidden away in the .ini files with a special executable, apparently.

Disabled:
grid01.png


Enabled:
grid04.png


If you're using a discrete GPU, this workaround supposedly enables the shadows and blending options if the game doesn't open it for you out of the box. Be warned, though, it is buggy as hell. There's a reason it only was included in two games.
 
Last edited:
I read somewhere that DX12 will also allow you to combine your VRAM if you are running more than 1 GPU. So if you have 2 Gtx 960's 4Gb in SLI, effectively you will have 8Gb VRAM at your disposal.
 
My i5-3570K has HD4000 graphics on board. I really like the idea of utilising all available hardware, so I'll wait until it's available before showering my doubts over it.
 
I read somewhere that DX12 will also allow you to combine your VRAM if you are running more than 1 GPU. So if you have 2 Gtx 960's 4Gb in SLI, effectively you will have 8Gb VRAM at your disposal.

Only if the games support it so it means only future games. Current games will not see this benefit, in order for them to benefit the devs will have to go back and add dx12 support to them and enable this specific feature which I doubt many will do.
 
Only if the games support it so it means only future games. Current games will not see this benefit, in order for them to benefit the devs will have to go back and add dx12 support to them and enable this specific feature which I doubt many will do.

Yeah but that's actually a bigger win than combined IGPU as far as I'm concerned. It's ridiculous that multi-gpu systems have been limited to 1xvram and the added ram would make a huge boost at higher resolutions.
 
Yeah but that's actually a bigger win than combined IGPU as far as I'm concerned. It's ridiculous that multi-gpu systems have been limited to 1xvram and the added ram would make a huge boost at higher resolutions.

Well it's the way sli/xfire spec works each card renderders alternate frames using it's own vram to do so. Future is rose coloured :D
 
Likewise, DirectX12 making it possible for Nvidia and AMD graphics cards to work together

so that means i can add any cheaper amd card to my 970 and it it will give me a boost?

how about diffrent kinds of gpus?

like 970,and i want to add a 960/950 in to give me more power with out spending alot more,will that also be possable,surly if 2 brands can work together and with the onboard,see no reason why it should not?
 
We've actually had this in a shipping DX11 title, which used a similar method like multiadapter - Codemaster's GRID 2. Supposedly, if you were running an Intel Haswell processor with HD4000 or newer graphics, you could enable Advanced Blending and Smoke Shadows, which make use of the iGPU to run these graphical options to make the smoke effects look better. It was rather buggy at first and it doesn't play very well with Optimus systems, only desktops, really. Intel calls it PixelSync. But, it works (some of the time for some of the people) and that's a fairly close approximation to what multiadapter is supposed to do and offer to game developers. Rome II: Total War also has it hidden away in the .ini files with a special executable, apparently.

Pixelsync doesn't work like this. It is Intel's hardware implementation to deal with OIT and only works when you're using the integrated GPU. It's one of the things that Intel has sold as an advantage of their iGPU over AMD and Nvidia. I think it only applies to Iris Pro, though.

You can read more about it here.
 
so that means i can add any cheaper amd card to my 970 and it it will give me a boost?

how about diffrent kinds of gpus?

It will all be added up into a pool of compute resources, so theoretically you could have a Geforce GPU and a Radeon working together on the same thing. It won't magically allow Physx to be turned on without having hacked drivers to enable it while a Radeon GPU is the primary one, but it will allow a workload to be fed equally among the GPUs in the system according to their capabilities and what compute resources there are on hand.

Pixelsync doesn't work like this. It is Intel's hardware implementation to deal with OIT and only works when you're using the integrated GPU. It's one of the things that Intel has sold as an advantage of their iGPU over AMD and Nvidia. I think it only applies to Iris Pro, though.

You can read more about it here.

Huh! I clearly remember reading at the time that it was an asynchronous thing that could be enabled at the same time when using a dGPU. I'm clearly wrong, so I wonder now where I got that idea from. Thanks for correcting me!
 
Very cool news...but...colour me unconvinced. Even freakin AMD had microstutter issues when running Xfire cards...literally 2 of their own cards & it took forever to sort out.

...still...if by some miracle an AMD card, a Intel integrated play nice *and* the dev supports the whole story...I'll be very impressed.

ssshhh...don't tell him current gen cards support DX12.
 
i guess for this to work both cards have to be DX12 right?

will be nice if i can add a 2nd cheaper nividia card like the upcomeing 950 or so

wait,now that i think of it

970+950+intel graphics?
 
Interesting. I didn't know about this, but this is very positive in terms of which direction AMD chose to opt with their A-series. A10 owners can be happy should this pan out accordingly.
 
Huh! I clearly remember reading at the time that it was an asynchronous thing that could be enabled at the same time when using a dGPU. I'm clearly wrong, so I wonder now where I got that idea from. Thanks for correcting me!

I think the confusion might have come about because Pixelsync was introduced along with AVX2, which is the extra set of CPU instructions included in Haswell. It is easy to lump the two together, especially since in GRID 2 the exe you need to run to use Pixelsync is appended with 'avx'. Since AVX2 is independent of discrete graphics cards, this makes it easy to think that Pixelsync is too.

What you said was actually enlightening, though, since using Pixelsync for OIT is an example of why developers might want to spend the effort to implement a more complex explicit multiadaptor into their engine. This is, of course, if Nvidia and AMD don't develop their own efficient ways of dealing with OIT.
 
I think the confusion might have come about because Pixelsync was introduced along with AVX2, which is the extra set of CPU instructions included in Haswell. It is easy to lump the two together, especially since in GRID 2 the exe you need to run to use Pixelsync is appended with 'avx'. Since AVX2 is independent of discrete graphics cards, this makes it easy to think that Pixelsync is too.

Could be. I think the Steam version of GRID 2 defaults to the AVX launcher, but I'll have to find someone who has the game in order to confirm that. Or I could just load up the demo and see which launcher it uses, and hope that its the same version used by Intel for their announcement.

I think that what we'll find is that the multiadapter will use the iGPUs for GPGPU and OpenCL stuff, but keep it more light so as to not bog down performance. I can certainly see developers figuring out how to run TressFX or Hairworks or DOF effects on the iGPU instead of the discrete one, which might guarantee some level of performance even if you have these things enabled.
 
Top
Sign up to the MyBroadband newsletter
X