Yeah, i sure hope AMD will make enough money to start a R&D department with bigger budgets mainly for the driver software. That will allow more software engineers to work with less stress and that will lead to more creativity.
The reality is that the theoretical maximum flops numbers are rarely reached, will it be either Nvidia or AMD. So the trick is to take the data that the game supplies and process it in such a way that the gpu is utilized as much as possible. In mining , it is possible to use all alu's. But in games it is more difficult and that is where the driver magic is. And Nvidia knows that very well and has that problem very good under control. "Mo money" less problems.
I always wonder how a graphic scene is build up in general. Since the software writing is abstract, it is not written (optimized) to match the exact amount of computing units a given gpu has for every task. Also, this can only be done if there is only one type of gpu to program for.
This exact matching cannot be done because then every manufacturer would only have one gpu card to sell. This is where the consoles have an advantage, being fixed hardware. But it would also
take more effort from the software designers in one way and eases their lives in another way..
So in one scenario, the driver has to take all these computations and batch them to reach the maximum theoretical tflops throughput of the gpu. But that is not always possible because if in a given frame that number can not be reached, the driver would have to stall the computations to extract maximum tflops throughput from the gpu. And that could lead to delays.
Engineers who write drivers for gpu do not have it easy. They have to examine every scenario and create a solution and also modify the driver to detect that scenario and use the solution.
I have come to understand that the gpu driver tracks the programs being executed or is notified by windows that a game is started(I do not know how this is done exactly) and loads the optimized gpu profile. But i am sure that the gpu driver in general also does run time optimizations on the fly.
But in the end, the gpu driver writer is often just like the virus scanner writers, they are solving the problems afterwards.
And that is where the various initiatives like game works and mantle come from, for the gpu drivers to be ahead of the situation and create an environment where the hardware is fully utilized.
Of course, how the initiatives are implemented is a different matter because the implementation is based on making money and company strategy .