AlienALX
Well-known member
Bottleneck is a legitimate term when it comes to code/engine optimisation. Anyway, what you've said is not correct. All DX12 does is remove the hand-holding from the driver and passes that onto the game engine. Because the game engine knows it's own data better than the driver, the driver had a lot of overhead where it could not assume, the game engine can assume and so can more efficiently submit draws.
For example, in DX11 you had to set blend, depth/stencil, vertex buffer, shaders, etc, one by one and the driver had to do things under the hood each time for validation/hazard tracking. Now in DX12 we just set a PSO (pipeline state object) which contains all data needed for a draw. Passing all this data in one go allows for a lighter-weight driver. The same goes for resource tracking, instead of the driver constantly doing it, the game engine can do less of it more effectively as it understands its own data, unlike the driver. You can see here how the CPU overhead is reduced from Direct3D however, you can also see how it passes a lot of responsibility onto the engine, a bad implementation from the engine side could be even worse than DX11.
I didn't say if it was correct or not fella. I was not implying truth to any of it, it is just what we were told as gamers. Marketing BS as usual.
I also know that sometimes the term "bottle neck" is used correctly, but for the most part it's just muppets who don't understand what it actually means without understanding what it means in the literal sense. Kinda like the term "rig" and so on. All just stupid phrases people come up with to make them sound like they know what they are talking about.