The point that many people seem to forget is that Apple writes the OpenGL framework that sits between the app and the NVIDIA driver. On Windows, NVIDIA implements the entire OpenGL driver themselves. Perhaps some of these differences in performance are due to the different driver models between the two OSes?
Out of curiosity, what do the AMD results look like for Mac and Windows? Are you suggesting that AMD gets the same level of perf as NVIDIA's Windows driver in both cases?
I don't have an AMD card of equal power to the 670 to test, so I can only tell you what I've read from other people's experiences: In general, it seems that AMD performance is better than nVidia on OS X. For one, AMD cars can use instancing, so you get an automatic improvement there. Also, historically, OS X's ATi/AMD drivers have been better than OS X's nVidia drivers.
As much as I would like to test to 7970 versus the 670 on my machine, I don't have the extra $500 lying around to make it possible.
----------
@dpny
Will you please tell us, which Mac OS you used for this test?
And did you change anything in the rendering settings?
An what is the reason for testing it only with a simple plane?
1) 10.8.3
2 and 3) Rendering settings are set from inside the fps tests: they are steadily increased as the tests go from 1 to 5. Also, the fps tests use a simple plane because they are testing things the developers can control--object density, weather, view distance, etc.--and not things the developers can't control, like using third-party planes and scenery.
----------
The FPS test options are failing for me with this error:
[snip]
so I went and bought the MiG-29 model to see what's going on. With default options and just sitting on the runway, I'm seeing 10.9 FPS with all the rendering options cranked up while running at 1024x768 (to ensure that the test is limited by the CPU/driver). If I enable HW instancing, that nearly doubles to 19.9. Note that this is on a 2.66GHz MacPro4,1 so not the fastest CPU around, and assuming that I'm reading the FPS counter correctly.
The really strange thing is that Apple's OpenGL Profiler tool doesn't even show glDrawElementsInstanced being called. The vast majority of time in both cases is in glDrawElements, and that's only accounting for less than 20% of the total app time in both cases.
Unfortunately, you have reached the point where I don't have the knowledge to answer your questions any more. I can give you the results of my year of trying to squeeze performance out of X-Plane 10 and OS X, and I can give you results of the fps tests and the consensus of the X-Plane community, but I can't answer questions about driver threading. It's simply beyond my ken.
The short version is what I have already said: switching to Windows gives an immediate performance boost in X-Plane. In my experience the boost has been dramatic, making it possible for me to use some planes I couldn't use before. As you saw from my results, in some of the FPS tests switching to Windows gives a 30 fps improvement.
If you're really curious about the issue, I suggest you register at X-Plane.org and spend some time in the Tech Support and Hardware forums. You will find a lot of posts by me, and others, about this issue, and you will find answers to the questions you're asking about the drivers and OpenGL implementations.
----------
Blame the game community on OS X.
I don't blame anyone but Apple, and even then I don't blame them. The desktop market is very quickly shrinking to a niche market, and the obvious thing for Apple to do is to minimize their investment in it.
As someone else has said, OS X for life, Windows for games.