DX12 and 6+ CPU cores: savior or irrelevant?

TheF34RChannel

New member
Firstly, since the DX12 + multiple cores discussion mainly seems to take place in this subforum, I thought I would post here. However, if the mods feel it's a better fit elsewhere feel free to move it of course.

On a plethora of fora (that rhyms!), whereas CPU upgrades/sidegrades are concerned and especially now that Skylake is upon us, I have noticed a trend that recommends Haswell-E (specifically the 5820K because of it's price point) for gamers. The two main arguments provided are:

1) Having more cores is (more) future proof;
2) (Tying into #1) With DX12 around the corner more cores will be utilised in games.

This has made me curious, also because both #1 and #2 are mere assumptions, in my opinion anyway. So therefore I thought this could be an interesting thread to discuss the matter as DX12 creeps ever closer.

What follows is what I think on the matter personally. DX12 is obviously a fact, as is that it can (note 'can' instead of 'will'!) utilise 6+ cores and corresponding threads - however this is no gurantee that it will. The only thing that I've heard from the horse's mouth is that it can, not that it will (because, how could they possibly predict what devs will do...?). Game devs will have to implement it and for them to do that there must be a number of good reasons, which, frankly, I just don't see in the forseeable future.

One reason that I've often seen provided for the 'it will' arguement is that most PC games are console ports and consoles have 8 core CPUs now. True, however... They are, IMHO, rather low level AMD parts that are not on par with older, current and future Intel quad cores - and the latter have no problems whatsoever keeping more than up with any game out there (especially because the GPU plays a much larger role than the CPU). Hence I see no point for game devs to implement 6+ core utilisation.

And because the GPU plays such a significant role in games, why would you want to offload more to the CPU? Sure, it can do other tasks than the GPU, I get that, but nothing that seemingly cannot be done a faster clocked quad core part.

Next, there are only a few DX12 games on the horizon and it usually takes quite a while before such a thing is truly and fully adopted (e.g. look at DX11). By that time Skylake-E is already here - whatever that will bring as compored to the current enthusiast platform.

So I ask, why would you recommend gamers (including yourself) to put all their eggs in one basket (= Haswell-E) at this point in time? Is it because the entire platform its price is currently on par with the Skylake platform? Sure, it is here and there (not where I live, that's for sure, where Haswell-E as a complete platform clearly is the most expensive one). However, keep in mind that Skylake has just been released and thus its prices are still at a premium. With that take into account that, if history has taught us anything (and still is today), games prefer the less cores but higher frequencies and I ask aloud and to no one in particular, wouldn't it make more sense to go for that higher clocked quad core?
 
Personally I would wait a little for the DX12 games to become fully evolved before providing an accurate answer :p
 
More cores is the way forward for CPUs as clockspeed has made very little progress at all.

It was a very long time ago that we saw the first intel 3.0ghz CPU and that was single core too !!! speeds have not really increased much since.

Haswell E is a good move at the moment as IIRC you can upgrade the CPU to Skylake E on the same boards.
 
More cores is the way forward for CPUs as clockspeed has made very little progress at all.

It was a very long time ago that we saw the first intel 3.0ghz CPU and that was single core too !!! speeds have not really increased much since.

Haswell E is a good move at the moment as IIRC you can upgrade the CPU to Skylake E on the same boards.

was that the Prescott?
 
Why do you keep saying can or will? Devs have had the chance to use more cores already, albeit it wasn't efficient, and now that it's easier they will do so. It's pretty simple really. Pre-DX12 using more cores was a challange because every process was serialized and sent off to the GPU which had to do everything one by one. Not very efficient. Now that it's able to send out commands in parallel from more threads, the GPU(by nature designed for parallel processing) it's able to do more at once and therefore increase FPS and decrease latency. To add on, driver and API overhead is reduced, which further takes down the amount of waiting everything is doing and the more work it's doing, which again, increases FPS and decreases latency.That's really just a simple run down. DX12 is basically entirely focused on the CPU and the GPU benefits from it to a lesser extent. Devs must go through and optimize each thread now, whereas before the API handled it, which sucked at it. Now they have more control. It's just a matter of time before they all get a handle on it. I'd only expect AAA companies to get onto the DX12 boat in the near future as they can afford to spend some more time on optimizing. Longer term more and more will get onto DX12. I'd give it a year.
 
Why do you keep saying can or will? Devs have had the chance to use more cores already, albeit it wasn't efficient, and now that it's easier they will do so. It's pretty simple really. Pre-DX12 using more cores was a challange because every process was serialized and sent off to the GPU which had to do everything one by one. Not very efficient. Now that it's able to send out commands in parallel from more threads, the GPU(by nature designed for parallel processing) it's able to do more at once and therefore increase FPS and decrease latency. To add on, driver and API overhead is reduced, which further takes down the amount of waiting everything is doing and the more work it's doing, which again, increases FPS and decreases latency.That's really just a simple run down. DX12 is basically entirely focused on the CPU and the GPU benefits from it to a lesser extent. Devs must go through and optimize each thread now, whereas before the API handled it, which sucked at it. Now they have more control. It's just a matter of time before they all get a handle on it. I'd only expect AAA companies to get onto the DX12 boat in the near future as they can afford to spend some more time on optimizing. Longer term more and more will get onto DX12. I'd give it a year.

Don't be surprised if performance is even worse using DX12.

You can get a GPU to run @99% efficiency or better now with DX11, when DX12 arrives and demands even more of the GPU the fps could really drop off.

I suspect the biggest advantage of DX12 will be to max CPU performance if the game devs can be bothered to do it.
 
Don't be surprised if performance is even worse using DX12.

You can get a GPU to run @99% efficiency or better now with DX11, when DX12 arrives and demands even more of the GPU the fps could really drop off.

I suspect the biggest advantage of DX12 will be to max CPU performance if the game devs can be bothered to do it.

Not really how it's gonna turn out. They can do multiple tasks at once which means faster processing and less waiting for tasks= more performance. DX11 has serialized tasks so if you overload the amount of tasks in that line, it'll basically report 99% usage even though it's slowing to a crawl(example). Another example could be 99% usage on that single tasks it just processed... well that's not as efficient as multiple tasks at 99% usage. DX12 makes it easier on the GPU, especially with AMDs ACE(asynchronous compute engines) they have it'll really be able to handle parallel tasks with much greater ease. This is why since GCN was released using a parallel compute language like OpenCL has done extremely well on AMD hardware- to the point that a 7970 back in the day was beating out a Titan.
 
Not really how it's gonna turn out. They can do multiple tasks at once which means faster processing and less waiting for tasks= more performance. DX11 has serialized tasks so if you overload the amount of tasks in that line, it'll basically report 99% usage even though it's slowing to a crawl(example). Another example could be 99% usage on that single tasks it just processed... well that's not as efficient as multiple tasks at 99% usage. DX12 makes it easier on the GPU, especially with AMDs ACE(asynchronous compute engines) they have it'll really be able to handle parallel tasks with much greater ease. This is why since GCN was released using a parallel compute language like OpenCL has done extremely well on AMD hardware- to the point that a 7970 back in the day was beating out a Titan.

We will see, remember I am very old and I have seen these BS claims many times before.:D

As to the 7970 beating out the Titan, in most compute things the Titan absolutely thrashes a 7970.

I used to own 3 HD7970s.:)
 
We will see, remember I am very old and I have seen these BS claims many times before.:D

As to the 7970 beating out the Titan, in most compute things the Titan absolutely thrashes a 7970.

I used to own 3 HD7970s.:)

It's a claim because it's finally a big step in API development. Just like Mantle, it also improved performance. Mantle wasn't even finished too and hardly anyone did anything with it but it still improved performance. DX12 has some similarities.. that's why they got it out so quick lol(assuming):)

In OpenGL yes it did, however in OpenCL AMD kicked Nvidia's butt. Don't know about now though. I know in Keplar AMD had a slight edge. I haven't checked since Maxwell though
 
It's a claim because it's finally a big step in API development. Just like Mantle, it also improved performance. Mantle wasn't even finished too and hardly anyone did anything with it but it still improved performance. DX12 has some similarities.. that's why they got it out so quick lol(assuming):)

In OpenGL yes it did, however in OpenCL AMD kicked Nvidia's butt. Don't know about now though. I know in Keplar AMD had a slight edge. I haven't checked since Maxwell though


AMD's chips still crush NVIDIA's chips when it comes to OPENCL
 
Back
Top