. . .
Optimizations that worked/how much gain over 4 months- Actually from where we started to what shipped I'd say performance about doubled. A HUGE amount of that came from Apple's work in the OpenGL framework. Doom 3 just happend to exercise GL in the exact opposite of the fast path for OS X. So the biggest initial optimization wins were inside GL, having it cache more state changes that were common to the Doom 3 code path, especially how it dealt with vertex buffer objects. Some GL calls for locking/unlocking and allocating/freeing VBO's had a lot more overhead than Windows originally. This is the kind of thing that you wouldn't notice if it didn't incur a big performance hit. For all I know, ATI or nVidia's GL on the PC had similar problems a couple years ago, and when they got their first seeds of the early Doom3 engine they quickly fixed that path to be more streamlined. Adding an Altivec specific SIMD library helped a little, but not as much as you'd think- Altivec is so cranky about data alignment you can spend a lot of time swizzling data into a good alignment and it offsets the speed gains. And in ports you just can't afford (cost or schedule-wise) to try to reengineer entire sections of the game's data formats.
. . .
Originally posted by: funkymatt
in order to run x86 processes, doesnt osx have to use an emulator?
Originally posted by: Ecgtheow
Most of the difference is because Apple's OpenGL isn't as optimized (or is optimized in different places) as OpenGL in Windows. Here's a good explanation of it; specifically discussing Doom 3:
. . .
Optimizations that worked/how much gain over 4 months- Actually from where we started to what shipped I'd say performance about doubled. A HUGE amount of that came from Apple's work in the OpenGL framework. Doom 3 just happend to exercise GL in the exact opposite of the fast path for OS X. So the biggest initial optimization wins were inside GL, having it cache more state changes that were common to the Doom 3 code path, especially how it dealt with vertex buffer objects. Some GL calls for locking/unlocking and allocating/freeing VBO's had a lot more overhead than Windows originally. This is the kind of thing that you wouldn't notice if it didn't incur a big performance hit. For all I know, ATI or nVidia's GL on the PC had similar problems a couple years ago, and when they got their first seeds of the early Doom3 engine they quickly fixed that path to be more streamlined. Adding an Altivec specific SIMD library helped a little, but not as much as you'd think- Altivec is so cranky about data alignment you can spend a lot of time swizzling data into a good alignment and it offsets the speed gains. And in ports you just can't afford (cost or schedule-wise) to try to reengineer entire sections of the game's data formats.
. . .
Actually, this might be the opposite. Doesn't the x86 OSX need to run OSX software in emulation?
The problem is, it's pretty rare to find pure CPU-bound apps anymore. Most performance-critical apps perform heavy I/O. And system calls (including I/O) in OS X seem to be pretty slow at present. Remember this Anandtech article last summer?That's not to say that OS X is slow in other things. In applications were your just using straight CPU then code in OS X will run pretty much just as fast as anything else.
Um, CineBench and Quake 3 are both faster on Mac OS X. Yes, CineBench is just a synthetic benchmark, but it's a cross platform test that Maxon has been using based on their cross platform Cinema4D software for many years. CineBench very closely reflects real-world performance of the Cinema4D 3D modeling/animation software. Quake 3 is very cross platform and well known. Both tests use OpenGL.Originally posted by: PeteRoy
But for the end user bottom line is that Windows XP is faster, and that's something Apple has to deal with, especially after all their campaign saying how much their suprior to Windows and all the other PC's.
Originally posted by: ForumMaster
what kind of an idiot would write that? ( in the inquirer i mean). sure XP is faster then OS X for games, but which one has more security holes? which one is more problamtic. WoW would be running under rosseta on Boot Camp and would therefore run like an emulator. in other words, slow. also, OS X isn't good for games. we all know that. any mac-fanatic will even admit that. ( i myself am a pc guy) however, for other things such as tasks that can be tested out equally and not under emulation, if XP is faster then, and only then, will i believe it.
P.S.: also, game are usually more optimized for XP. Bliazzard need to think about the large audience and quite obviously spends more time on optimizing games for XP then it does for OS X.
Originally posted by: halfadder
Originally posted by: ForumMaster
what kind of an idiot would write that? ( in the inquirer i mean). sure XP is faster then OS X for games, but which one has more security holes? which one is more problamtic. WoW would be running under rosseta on Boot Camp and would therefore run like an emulator. in other words, slow. also, OS X isn't good for games. we all know that. any mac-fanatic will even admit that. ( i myself am a pc guy) however, for other things such as tasks that can be tested out equally and not under emulation, if XP is faster then, and only then, will i believe it.
P.S.: also, game are usually more optimized for XP. Bliazzard need to think about the large audience and quite obviously spends more time on optimizing games for XP then it does for OS X.
You have your technologies a little mixed up......
Universal Applications are those that are cross-compiled can run native on both the PowerPC and Intel versions of Mac OS X.
Rosetta is the PowerPC emulator technology in Intel Mac OS X. It allows PowerPC applications to run on the Intel systems via emulation.
For example, there is currently no Universal version of Mac MS Office 2004, it is currently only a PowerPC application, so it runs a little slower on an Intel system because Rosetta is working behind the scenes emulating the PowerPC CPU.
WoW, however, is a Universal application. It runs native on both PowerPC and Intel systems. It's poor performance on Mac OS X Intel is a factor of both the OS itself and the way the game was programmed. It might also have to do with architectural differences, I assume the Windows version uses DirectX and I assume the Mac version uses OpenGL. Different technologies and different design implementations.
Boot Camp, on the other hand, is a utility that allows Windows XP SP2 to be installed on an Intel Mac. It's not an emulator, it's a tool that makes a new hard drive partition, burns a drivers CD, and tweaks the system's firmware. Windows XP runs native on Intel Macs, no emulation.
That said, notice that Quake 3 and CineBench run faster on OS X than they do on XP. This suggests that Mac OS X might not be so slow afterall. Give Apple and game developers a few months to release some patches, fix some problems, then compare benchmarks again. This outta be interesting.
Originally posted by: smack Down
Quake 3 is old. That means it will not be as limited by the mac OS crappy performance with system calls because it was design for P3 600 Mhz CPU's.
Originally posted by: halfadder
Originally posted by: smack Down
Quake 3 is old. That means it will not be as limited by the mac OS crappy performance with system calls because it was design for P3 600 Mhz CPU's.
But it should also be less limited by XP's system call performance as well.
Originally posted by: ForumMaster
what kind of an idiot would write that? ( in the inquirer i mean). sure XP is faster then OS X for games, but which one has more security holes? which one is more problamtic. WoW would be running under rosseta on Boot Camp and would therefore run like an emulator. in other words, slow. also, OS X isn't good for games. we all know that. any mac-fanatic will even admit that. ( i myself am a pc guy) however, for other things such as tasks that can be tested out equally and not under emulation, if XP is faster then, and only then, will i believe it.
P.S.: also, game are usually more optimized for XP. Bliazzard need to think about the large audience and quite obviously spends more time on optimizing games for XP then it does for OS X.
Originally posted by: smack Down
Also the Mac verision of Quake 3 is a year old. The PC verision's last patch is from december of 01.
Originally posted by: halfadder
Originally posted by: smack Down
Also the Mac verision of Quake 3 is a year old. The PC verision's last patch is from december of 01.
Are you sure about that? I remember playing Quake 3 on Macs even before the Windows version came out. As I recall, Carmack released the first Q3Test for Mac, then Linux, and finally for Windows. I'm pretty sure the Mac version came out at about the same time that the Windows and Linux versions came out.
ftp> pwd
257 "/idstuff/quake3/win32" is current directory.
ftp> ls -l
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
-rw-rw-rw- 1 user group 4171 Oct 7 2002 132_changes.html
-rw-rw-rw- 1 user group 48907862 Dec 3 1999 Q3ADemo.exe
drw-rw-rw- 1 user group 0 May 13 2005 old
-rw-rw-rw- 1 user group 29449725 Oct 7 2002 q3pointrelease_132.exe
226 Transfer complete.
ftp> ls -l
200 PORT Command successful.
150 Opening ASCII mode data connection for /bin/ls.
-rw-rw-rw- 1 user group 48072960 Mar 22 2002 MacQuake3Demo.bin
-rw-rw-rw- 1 user group 30813624 Jun 19 2003 Quake3-132-AltivecTest2.pkg.sit
-rw-rw-rw- 1 user group 29174167 Nov 4 2002 Quake3-132.pkg.sit
drw-rw-rw- 1 user group 0 May 13 2005 old
Originally posted by: halfadder
Originally posted by: smack Down
Also the Mac verision of Quake 3 is a year old. The PC verision's last patch is from december of 01.
Are you sure about that? I remember playing Quake 3 on Macs even before the Windows version came out. As I recall, Carmack released the first Q3Test for Mac, then Linux, and finally for Windows. I'm pretty sure the Mac version came out at about the same time that the Windows and Linux versions came out.