You assume too much, or simply hate Nvidia too much. Why won't Microsoft do it if they can? Who developed DirectX? Why aren't their physics API in Dx11? Because of Nvidia? I don't think so. There will be physics API if it is actually better running on CPU compare to GPU, but no.So wouldent it be great if physx could be better optimized for multithreding, then you could use the cpu to 100% instead of having the cores sitting idle. But nvidia dont want that, they want you to buy a more powerfull video card.
In theory, all cores can work together. In practice, they can't. They can work independently, but still shares the same cache, so not only they can't work together, but there is a delay just to pass data from one core to another. The idea is to have one core figure out how to distribute work, then sent to the rest of the core. This idea works, although not fully utilize all cores, it is much better than before. But how many CPU cores are there? 8? Sorry, there are 128 shaders in GTS 8800. That is why. The technology don't stop here, and Fermi design is to further reduce the idle time on each shader, but that isn't the scope here.
If Microsoft can create DirectX that force every video card vendor to pay and follow, why not the other way around? In fact, it should be the other way around. ATI/Nvidia knows more about video card than Microsoft yet Microsoft dictates what function to support. I don't like that, but I can't change that either. I too like ATI/Nvidia to join hands and create a super OpenCL/GL engine for developers, but it isn't happening. Anyways.
