BF3 was released in october 2011, Nvidia's drivers were publically known to support multithreaded rendering since april 2011 (the time of Ryan Smith's post). And that was for us normal users, Dice has continuous contacts with AMD's and Nvidia's driver teams during the whole development.
Yeah, but the game (and particularly the engine) had been in development for 2 years. Anyway, the reason why I said what I said is because DICE had some slides where Repi lamented that they had waited for 2 years for multithreaded drivers, and still were:
Look at slide number 34.
Come on now, Johan Andersson at Dice is even one of the driving forces behind Mantle. Do you really think he would go through all the extra work for adding Mantle, if BF4 simply could have used DX11 multithreaded rendering instead?
DX11 multithreading isn't on the same level as Mantle. Mantle would be much more effective at increasing draw calls and reducing overhead, as it doesn't have the legacy baggage that Direct3D has to carry.
But I think it was also a political decision. AMD doesn't have multithreaded drivers, so using that feature would have given NVidia a huge advantage until Mantle shipped.
Dice requiring DX11 multithreaded rendering for BF3 and BF4 is hard for AMD to say no to, and Dice has all the reason in the world to want to keep development costs down by just using DX11
Development costs don't matter as AMD is footing the bill.
And here is where you lose me completely. If you think AMD's driver team lacks the competence or resources to support multithreaded rendering, then how can they be good enough to create a whole new lower level API?
Making multithreaded drivers is apparently pretty damn complicated, and it took NVidia quite some time to implement it themselves. I know for a fact that AMD has developed or toyed with multithreaded drivers, but for them, it either resulted in no gains, or less gains. I saw a post from an AMD employee on Rage3d forums that stated that if I remember correctly.
But for NVidia, multithreaded drivers resulted in very significant gains in performance. What am I to make that?
And why would both AMD and Dice, Oxide and Nixxes spend resources on Mantle, which also has the negative that it works only on GCN-based cards, if the solution just was to use multithreaded rendering or OpenGL instead?
If everyone in the business wanted multithreaded rendering, and especially big players like EA/Dice are pushing for it, AMD wouldn't be in the position to say no.
If AMD is footing the bill for development, then there's no financial risk involved. And Mantle would definitely be superior to DX11 multithreaded rendering as it's a thinner and more efficient API.
And in the link you posted, don't mistake those differences for DX11 multithreaded performance at work.
The link had nothing to do with DX11 multithreading specifically (that uses deferred context rendering and command lists), but general driver multithreading.
The only games that has a clear lead on the GTX 780 is The Witcher 2 (which also is DX9 only) and BF4 when using quad cores.
Assasin's Creed IV and Crysis 3 as well.
Also did you notice that the quad core was underclocked to 2.3ghz, and the dual core was overclocked to 4.6ghz? MHz definitely makes a big differencel.
Anyway, the point I was making, was that NVidia's drivers rely much more on multicore processors than AMD's, because they have a greater level of optimization.. AMD has the edge with two theads, while NVidia gains the edge in more than 2 threads.
The games that performed best on NVidia were games that were strongly multithreaded. BF4, Crysis 3, Witcher 2 and Assassin's Creed IV being the best examples.