Well its definately a BIG hit.
On showdown on XP on my macbook pro 2.4 8600m with custom settings I can get like 120 fps outside dropping to about 60.
On the same map, same profile, same settings on osx I get 30 to 80 fps. Thats a huge performance drop! And it sometimes even drops below 30.
Hi,
First, I'm a newbie here, so hi to all
Regarding COD4 and other DX games on Mac - game companies in most cases (such as EA) do not use OpenGL
at all on Macs. They use sub-systems such as Cider (check transgaming.com) that instantly creates virtual machine when user clicks on the app/game to run, and runs that game in it's own virtual environment. That means, game is STILL DX, and virtual machine is translating calls into OpenGL & GLSL. From user-perspective, player believes he is running Mac version of the game. And, it is slower than on a PC/Windows. Really, user is playing the game using virtual machine. That will NEVER on any OS give high performance.
[EDITED: p.s. performance drop using Cider-like environment is 20-40% depending on complexity of DX->GL calls, which is about the ratio you described: 120-60 on windows, and 30-80 on macosx ]
I'm OpenGL/C++ developer for more than 6 years now, and from my extensive experience I can tell you that there is no better API than OpenGL for 2D/3D rendering. I did a lot of work with D3D and it cannot give that level of performance and image quality as OpenGL can.
Reason why so many games are in DX and the ones done with GL sucks is simple:
1. DX is Microsoft's API, and Windows is the most spread OS, thus being the biggest market.
2. GL is constantly being crippled on Windows platforms, for well, almost decade and a half now, intentionally, by Microsoft, by not providing the latest drivers for OpenGL to be shipped with the system, or giving at least an option to Windows-user to easily update drivers. Let me just remind you that you do need to update DX if you wanna play the newest games (unless you just bought your copy of Win with newest DX packed in it) every now and then.
3. DX can be used on XBox,XBox360.
4. OpenGL can be used on Playstation3. Compared to XBox360, PS3 just started to spread the market.
5. Based on 1...4, game companies have a choice: make money for the biggest market using only 1 API to lower the cost, or, make a little more than that by using 2 API's with significantly increased cost. Math is easy. This means that most of resources is spent on DX-based games, thus making them more optimized, better graphics etc, while a lot less resources was spent on GL-based games, even though possibilities are even higher. OpenGL3.0 API is out, and it is ONE GENERATION ahead from DX10 (which by the way works only on XBox, while even with 9600 DX10 examples (from Microsoft's SDK) still have performance issues).
One more fact in favor of OpenGL:
1. Games done in older DX have no guarantee will work properly on the newest DX. Try to play any older game (ie. Cossacks, copy that worked perfectly after SP2 reports DirectDraw failure (DirectDraw is part of DX)). This basically means that whatever you do in DX will have life length until next service pack, next DX update or patch, after which you (developer) will have to make an update. Even Microsoft's updates of DX are very inconsistent: DX9 is actually upgraded from DX7, and not DX8, which was basically thrown to trash. This instability in core development means that base architecture of DX is full of patches & workarounds.
2. Games done in older version of OpenGL will ALWAYS work in newer versions, no matter what API's update is. OpenGL core is perfectly engineered, concrete-stable, and most important - is cross-platform STANDARD. This means, that not just one party decided what is the best (like in the case with DX), but parties such as NVIDIA and SGI (just one of members of board of directors) were involved. Having manufacturers of graphic card involved just shows you to what level architecture of OpenGL is.
[EDITED: p.p.s: OSX would not have such fancy GUI without OpenGL. Spaces & Doc uses GL. Genie effect uses GL. Finder's image preview mode uses GL. On Vista, DX is used for desktop composition. Vista cannot compare to OSX, neither with smoothness (I am not talking about creativity here, just performance) nor stability of desktop manager (here I refer only to desktop drawing, not general instability of Windows operating system, which is another story) ]
Cheers