More DirectX12 news/thoughts/etc...

Part of me thinks there is an evil genius who simply created the notion of DX12 to incite more violent flame wars. On the one hand we have absolutely idiotic developers proclaiming that the PS4 will always be faster simply because the physical hardware will remain the same. While this is true, as I discussed previously, literal speed and effective speeds are two different things. And effective speeds are what matter.

On the other hand, we have MS claiming it will effectively double the GPU power of the graphics card, NVidia claiming it is like 4 generations of hardware changes at once and Intel claiming it will deliver orders of magnitude of performance gains.

Holy crap this is maddening.

So, let me say this one more time. Yes, the Xbox One will never get physically, literally any faster. And that isn't necessarily relevant. Those people proclaiming it is impossible for the Xbox One to be faster than the PS4 because it is "physically impossible" are either being incredibly basic and over simplifying, or are delusional.

I want to tackle this problem another way. Let's say the Xbox One and the PS4 were actually running the EXACT SAME hardware. In this scenario, those people proclaiming that the PS4 will always be faster are effectively trying to imply that every game would run identically on both systems.

Seems logical. But, in fact, it is completely wrong. And, oddly, I suspect if you posed the situation to those developers this way, they would be forced to agree and see the error of their ways. A course on

The consoles are running 2 completely different operating systems. With 2 completely different sets of drivers and leveraging 2 completely different SDK's. If one OS is less efficient and wastes more cycles somewhere else, its games run slower. If the drivers aren't as efficient, the games on that console rule slower. If the SDK on one generates less efficient machine code, its games run slower.

All of this is possible on 2 systems running on IDENTICAL hardware.

So yes. The Xbox One will NEVER get physically any faster (debateable as well I suppose, the massive box with massive vents means it could potentially be overclocked safely at some point, but I seriously doubt that will ever happen). But that is not now, nor has ever actually been important. What is, has and always will be important is how efficiently the hardware and software work together to deliver on the instructions the games want to feed them.

I STILL don't believe the hype. Not even the lowest common denominator which is the 2x speed improvement Microsoft expresses. But I do believe that this could have a serious positive impact on games developed using DX12. I hope MS proves me wrong. I own an Xbox One after all. If the speed increase were indeed that high, it would mean MS more than closes the gap with the PS4, without the eSRAM even factoring into the equation. That would be embarrassing for Sony and its fan boys. But even more embarrassing for these ass-hats who claim like idiots that the PS4 will always be faster.

I really don't know where these companies find their developers. But, if I owned that company and I heard my developers making such idiotic statements I'd be calling their technical proficiencies into question. This is stuff that I knew before going to University for a Computer Science degree. But, I was also forced to take many classes on my path to that degree which also reinforce that. Design and analysis of algorithms. Operating Systems. Computer architecture. All of these courses talk about things which discredit the image put forth by those who claim it "physically impossible" for the Xbox One to ever outperform the PS4.

No one is trying to debate the physical limitations of the hardware in question. At least no one with a brain. No one is proclaiming that the hardware will magically run faster. The claims are that the software will be more efficient enabling the same hardware at the same speed to do twice as much work in the same time.

Lets say I have a sort algorithm that runs in O(logN) time running on an 486 and you have one that takes O(N^2) time running on a 3.3 GHZ CPU, then on a large enough data set my 486 (33 MHZ) can actually out perform the 3.3 GHZ PC if the slower PC is running the more efficient sort algorithm. This is an extreme example, the data set would need to be astronomically large and the gap in hardware is also astronomically large, but it is just an example to prove the error in the arguments that the Xbox One would need to violate physical laws to be faster than the PS4.

While the above example is probably silly, the ramifications are real and exactly the sort of thing MS is proposing. In the above example, both CPU's, the faster and the slower can be fed the same data array, and receive out the exact same sorted version of the data array. Despite the 486 being 100x slower, in some circumstance it can actually deliver the result faster. Similarly, the argument for DX12 is that the PS4 and Xbox One can be fed the same rendering instructions, but because the new algorithms in DX12 are more efficient, it can execute the results in less time than the PS4.

The Xbox One doesn't magically perform more cycles than the PS4. That would violate hardware constraints at the least. And depending on the amount of performance gain, perhaps even the laws of physics. No, what is happening is that the by comparison the PS4 is wasting cycles. Just as with the inefficient sort algorithm, the 486 doesn't actually run faster than the 3.3 GHZ CPU, it just gets the result faster. If the 3.3 GHZ CPU were running the exact same algorithm, the 486 would never beat it. By the same token, the Xbox One and PS4 aren't running the same algorithms. Not even today. Those differences in the SDKs, drivers and OS all amount to the same thing being done via different algorithms, and each OS investing cycles differently. This is why the performance gap varies from title to title and isn't as clear cut as the gap in the specs.

Anyone who claims otherwise is ignorant or idiotic.

So, while I personally the claims around DX12 are bold, the science behind it is sound. And without absolutel knowledge of how DX12 differs from DX11, I have no basis for believing that any of the claims presented by MS, NVidia or Intel are theoretically impossible, or even implausible. And none of this requires any violations of the laws of physics. Amusingly, none of this even requires the Xbox One's eSRAM. Which means that not only is it theoretically possible on inferior hardware it is actually possible for the Xbox One to spank the PS4. It could then still have that eSRAM on top of all of that.

Where do I stand in the end on this one? I suspect that if the claims amount to what MS says in the real world that Microsoft will only edge out Sony by a slight margin. This would enable developers to ignore the eSRAM entirely, and so most likely would. Making the most of the SDK would likely mean a deep investment of time, and since most titles will be cross platform anyway, there is no merit in going much further than is required, so if the gains aren't acquired with little to no time, I don't expect studios would break their backs to squeeze out too much extra performance. They would want their Xbox One and PS4 games to be as similar as possible. Investment beyond that is a waste.

Comments

Popular Posts