Coordinating multiple threads I would presume would give some latency due to dependencies between them causing some stalls or can that be hidden?
DX 12 starts to shine when you exceed DX 11 draw call limitations, as in even more objects/shaders add on even more compute operations with multiple cpu cores driving the GPU. At this time I do not see developers wanting to push beyond DX 11 boundaries yet. Now in most of the BF1 benchmarks it does appear AMD does improve over DX 11 with DX 12 - does that mean it will give a better gaming experience then Nvidia - at this time it does not look like it but does look competitive non the less. Why does Nvidia not do as well in DX 12 or more exactly does worst? That I do not understand, is it lack of threading ability of Nvidia GPU? Meaning for DX 12 workloads with multiple threads it will always have limitations?
Yeah that's where I'm thinking the problem is too. Hard to hide that latency, specially when you want your graphics and compute queues to go concurrently cause the dependencies and the things that need to be synced up have higher priority. I can't see this being solely a driver issue, possible more on nV than on AMD, but the reason being its happening on both IHV cards.
The draw call limitations is only part of the the benefits of DX12, a bet a major part lol, but devs really can't go past the limits the consoles put on that, cause draw calls are, as you know highly dependent on the CPU, threads, and IPC, and consoles, well they might have more threads on average vs 4 core CPU's on desktops, but their IPC well lol, they are quite weak. nV's utilization and dynamic load balancing is different that AMD's so both architectures just have different needs when it comes to programming that's all. Dev's can have different draw calls for PC's vs. Consoles, but that would take quite a bit of work.