Bare Feats, a popular site devoted to Mac vs PC benchmarks, benchmarked Doom 3 on the Mac to investigate what are the issues with Mac’s slower performance in Doom 3 compared to the PC. They even contacted the developers responsible for the port who explained that it indeed has to do with Mac’s architecture, gcc’s slower optimizations and the OS X itself. From the article: “PowerPC architectural differences, including a much higher penalty for float to int conversion on the PPC. This is a penalty on all games ported to the Mac, and can’t be easily fixed.“
if you have 32 wonderful floating point registers?
The article mentions that “Add to this that the PowerPC has a higher overhead for functional calls”.
Does anyone know about this? I would believe that branch-and-link is more efficient than jump-and-push (on x86), and doesn’t disrupt pipeline flow at all. So PPC should process branches and funcalls more efficiently than x86, not less. Add to this that at least the G4 has a much shorter pipeline than most x86 chips and the PPC should be much more flexible, while x86 (especially P4) is definitely optimized for straight in-line code.
The article insist that the architecture is the problem. If you read the article it says it’s the least of the problem. That’s how technical wars start. Please don’t grab the first thing you see and run away with it. Thanks.
The Linux port of Doom 3 has lower system requirements than the Windows version. I think GCC is fine.
The Linux version of Doom 3 has poorer performance than the Win32 version on the same hardware.
I would love to see what the results would be if Doom 3 was compiled using GCC 4.0 and properly optimised for the PowerPC.
RE: Anonymous (IP: —.dsl.hstntx.swbell.net) – Posted on 2005-03-20 04:47:31
[/i]The article insist that the architecture is the problem. If you read the article it says it’s the least of the problem. That’s how technical wars start. Please don’t grab the first thing you see and run away with it. Thanks.[/i]
Completely agree. Its more of a application architectural issue; with that being said, alot of these problems *COULD* be fixed, but it would require them to possibly give larges parts of the code a decent overhaul.
RISC architectures tend to *really* punish programmers and compilers that produce crappy code or don’t properly exploit the features offered by the architecture (Itanium can be seen as the extreme version of RISC – hence they’re suffering the same difficulties that the earlier RISC processors had – now doubly bad as the architecture is incredibly difficult to write compilers for).
Then again, one wonders why they (software company) haven’t used the IBM PowerPC compiler, which would *really* optimise itself for the architecture.
They should keep letting Omnigroup port games to OS X and better yet move them to Cocoa. The architecture comment is a load of crap.
Do themselves a favor: Hire Omni.
http://www.omnigroup.com/games/
Even id Software gets it.
Altivec anyone ?
I agree they need to use cocoa and take advantage of Core-Video in upcoming Tiger.
I will stick with the xbox.
you’re kidding right? .. FPS on an XBOX? .. please tell me you were using a mouse atleast
“Do themselves a favor: Hire Omni.
http://www.omnigroup.com/games/
Even id Software gets it.”
ID software makes doom 3 & they didnt use Omni for d3, only quake 3. Do they get it?
And the last, but definitely most important factor: Amount of time Apple/ATI/nVidia have had to optimize specifically for Doom 3. On Windows, ATI/NVIDIA spent multiple programmer years tuning their OpenGL implementations for Doom 3, starting back over a year ago while the game was still in development
Since Doom3 has been such a failure, you won’t be seeing that happening anymore. Now that Id is just another minnow in a big pond, maybe they’ll have more incentive to be innovative.
“Since Doom3 has been such a failure, you won’t be seeing that happening anymore. Now that Id is just another minnow in a big pond, maybe they’ll have more incentive to be innovative.”
Even after an entire fridge pack of soda, I can’t twitch fast enough to be interested in that section of the FPS genre to be in the know about these things. However, where did you come to the conclusion that DOOM 3 is a failure?
realistically speaking if you want to play games get yourself a windows box. unless a something big happens this is gonna stay this way, x86 ppl will always get the highly optimized games, because of market share.
Doom3 may have been a mediocre game, but commercially it has been a success, hasn’t it? millions of copies sold, and pirated.
Aspyr is TERRIBLE at porting technically demanding games. I don’t have any clue why they were hired for this huge game. They botched Sim City 4 too. Disgusting.
-Kevin
PowerPC is a better chip and a better platform(as in mac). the ‘PROBLEM’ is that they are porting an x86 design and x86 design ideas to PowerPC.
” including a much higher penalty for float to int conversion on the PPC”
x86 needs to have float to int conversions for lack of floating point registers. PowerPC has enough to avoid this conversion, but the programmers don’t want to rewrite the code so they just ‘make’ it compatible, not make it perform.
gcc is NOT optimized for PowerPC. this is likely gcc’s worst platform for optimizations. The OS(OSX) should make the mac system more efficient because of better memory management and a more functional priority system allowing games to run in a higher priority that other apps. windows CAN do this to some degree but the unix world including the BSD Darwin under OSX are much better at this.
—
a properly ported game will run ever bit as fast if not faster on a powerpc mac that on a PC, lazy programers are lazy programers period.
BUT in thier defence. How much time can be spent porting a game to a MUCH MUCH smaller market like the Mac, how much profit will a mac port bring in vs. the cost of porting the game and the quality of that port.
if the ppc is so bad for games, what are the people at xbox2 thinking?
2 things, why didnt ID port it themselves? and 2, who ports blizzards games to OSX? everything blizzard has made for MAC runs great. if blizzard doesnt do it themselves they should tell ID who does it for them as a recomendation
PowerPC is a better chip and a better platform(as in mac). the ‘PROBLEM’ is that they are porting an x86 design and x86 design ideas to PowerPC.
Better chip than what? an 8088?
Better platform? try reading the article. There’s a performance penalty from the OSX layer handing off up the game layer from the driver as well as a performance penalty for the way that window management and opengl interact.
a properly ported game will run ever bit as fast if not faster on a powerpc mac that on a PC, lazy programers are lazy programers period.
Yeah, and they could also get Michael Abrash to come back to ID and optimize the shit out of the x86 some more.
Nice try at being an apologist, but no dice.
BUT in thier defence. How much time can be spent porting a game to a MUCH MUCH smaller market like the Mac, how much profit will a mac port bring in vs. the cost of porting the game and the quality of that port.
Now you’re getting somewhere
i don’t know why, but doom3 runs faster on linux (debian sid) than on win2k (on the same machine). example: on linux, i can use anti-aliasing without going under 30 fps while on win2k, i can’t (same drivers on win / linux).
i have just write this before.
if you take a look at quake 2 code, you can see how good is for x86 and how bad is for ppc. porting a game need a comlete rewriting, but is commercially impossible.
Win2k does not support DirectX well, I am sure XP would kick Linux’s and 2k’s a$$ on the same machine on the same game.
“you’re kidding right? .. FPS on an XBOX? .. please tell me you were using a mouse atleast ”
Guess you’ve never heard of Halo, Republic Commando or Star Wars: Battlefront. The mouse and keyboard combination is a thing of the past. The XBox controller is easily good enough for FPS, plus you’re not getting screwed on an over-priced video card, plus if you’re like me you have a bigger tv than computer monitor, etc. But that’s nothing, wait until PS3 and XBox 2 come out.
>I would love to see what the results would be if Doom 3 was
>compiled using GCC 4.0 and properly optimised for the
>PowerPC.
There are enough other variables that would still make it an uninteresting comparison with ia32+windows, unfortunately.
>RE: Anonymous (IP: —.dsl.hstntx.swbell.net) – Posted on
>2005-03-20 04:47:31
>The article insist that the architecture is the problem. If
>you read the article it says it’s the least of the problem.
>That’s how technical wars start. Please don’t grab the
>first thing you see and run away with it. Thanks.
>
>Completely agree. Its more of a application architectural
>issue; with that being said, alot of these problems *COULD*
>be fixed, but it would require them to possibly give larges
>parts of the code a decent overhaul.
>
I doubt it. Most of the code should be fairly well written C. Any assembly hotspots (eg. perhaps SIMD vector operations) would have already been ported to the POWER code.
>RISC architectures tend to *really* punish programmers and >compilers that produce crappy code or don’t properly >exploit the features offered by the architecture (Itanium >can be seen as the extreme version of RISC – hence they’re >suffering the same difficulties that the earlier RISC >processors had – now doubly bad as the architecture is >incredibly difficult to write compilers for).
>
No, that’s very wrong. EPIC is completely different to RISC. If anything, they are opposites. RISC exposes a minimal ISA to the programmer, and uses hardware techniques to extract the instruction level parallelism. EPIC doesn’t do any of this in hardware, and tries to shift it all to the ISA.
Now that we have got the EPIC straw man out of the way – RISC has been around for decades, and compiler technology can easily cope with it today. gcc has been compiling RISC code for a long time.
That said, gcc on POWER is probably not quite as optimal as VC on Intel (VC is probably even using an intel compiler).
>Then again, one wonders why they (software company) haven’t >used the IBM PowerPC compiler, which would *really* >optimise itself for the architecture.
Because the gain would probably be on the order of 1 percent at best.
The really hot paths will be very explicity coded in C and probably asm or some explicit vector library. Many of them will be in the opengl stack and 3d drivers.
Anyone care to explain what possible performance advantage there would be to porting Doom 3 to Cocoa?
Maybe they should zap the PRAM and rebuild their desktop database too.
Mac OS X is great for sharing load between programs, and still remaining relatively responsive. It is not great at giving everything over to one program(a full screen game). Also, it is a given that the graphics drivers are a huge factor in the performance hit. The drivers just recently got all the functionality, but are no where near as optimized as the Windows drivers.
Of course the Dual chips doesn’t give an advantage to games like it does to most anything else, which is another disadvantage for mac gaming.
In a month or so, we may see Tiger and 970MP running 2.8-3Ghz. We’ll look at what improvements that brings, although the nvidia& ATI drivers in Tiger are still behind windows in optimization.
I read the underlying graphics/open-gl architecture of OS X is maybe great and friendly to developers and the OS, but lacks the speed ?!…
It is mentioned on barefeats, too. Maybe Tiger will improve this situation.
Dual 2.5 Ghz G5 is smoking fast. Stop spreading FUD please. Recess is over.
I doubt it. Most of the code should be fairly well written C. Any assembly hotspots (eg. perhaps SIMD vector operations) would have already been ported to the POWER code.
If you read, there is an issue about conversions; why not re-write the parts so that the use the float registers rather than dicking around?
RISC architectures tend to *really* punish programmers and compilers that produce crappy code or don’t properly exploit the features offered by the architecture (Itanium can be seen as the extreme version of RISC – hence they’re suffering the same difficulties that the earlier RISC processors had – now doubly bad as the architecture is incredibly difficult to write compilers for). ”
No, that’s very wrong. EPIC is completely different to RISC. If anything, they are opposites. RISC exposes a minimal ISA to the programmer, and uses hardware techniques to extract the instruction level parallelism. EPIC doesn’t do any of this in hardware, and tries to shift it all to the ISA.
Oh pulease, the number of studies out there comparing RISC to EPIC is HUGE. You’re some how claiming that EPIC is now a super CISC? meaning we’d be going in the complete opposit direction of RISC?
Come on, if it were the case, compilers and crap would be a walk in the park – the fact is, EPIC is the extreme of RISC because it throws even MORE responsibility back onto the programmer and compiler.
Now that we have got the EPIC straw man out of the way – RISC has been around for decades, and compiler technology can easily cope with it today. gcc has been compiling RISC code for a long time.
That said, gcc on POWER is probably not quite as optimal as VC on Intel (VC is probably even using an intel compiler).
Which is why I raised the question; why not compile it with IBM’s PowerPC compilers?
OSX uses the gfx hardware accelation for almost everything it draws, but current generation graphic cards aren’t yet good enough at multitasking concurrent sessions. Therefor OSX itself is sucking performance from the GFX card before the game even gets a look in.
This is why microsoft are not going to let people enable the fancy graphics in longhorn unless they have at least the next generation of graphic cards which will be designed with multitasking in mind (at microsofts behest). X800’s and 6 series cards just can’t juggle more than one task at a time.
oh nice theory… how smart os x is… cant steve job disable the quartreme or something when a game is running
lets just admit it. os x is slow. i have a powermac single 1.8ghz. who the hell play games on os x anyway 😐
——————–
OSX uses the gfx hardware accelation for almost everything it draws, but current generation graphic cards aren’t yet good enough at multitasking concurrent sessions. Therefor OSX itself is sucking performance from the GFX card before the game even gets a look in.
This is why microsoft are not going to let people enable the fancy graphics in longhorn unless they have at least the next generation of graphic cards which will be designed with multitasking in mind (at microsofts behest). X800’s and 6 series cards just can’t juggle more than one task at a time
Dual 2.5 Ghz G5 is smoking fast. Stop spreading FUD please. Recess is over.
You might like to note that the topic of this discussion is why the “smoking fast” G5’s are performing significantly worse than their x86 counterparts.
This is pretty obvious from benchmarks – it’s not a case of FUD, they *are* slower in this situation. Claiming that they’re “smoking fast” doesn’t change that.
Article on cafemac claiming double the fps with the latest Tiger beta compared to 10.3.8 on the same machine. Probably bait to lure traffic without any factual basis whatsoever, but there’s always that hope. hehe
They claim 40 fps with 1024×768, 2XAA, and high quality settings – with a dual 2ghz and 9800pro. Thats not bad for Doom 3 if its true.
Nah, conspiracy theorists would say that since Apple makes most of its money from Hardware, it’s in their interest to make the game underpreform, hence forcing Mac fanatics to open up their wallet and cough it up (upgrade).
Another reason why it isn’t a particularly good idea to keep all your eggs in one basket, that is, to have only one Hardware/Software vendor.
>If you read, there is an issue about conversions; why not
>re-write the parts so that the use the float registers rather
>than dicking around?
Err because if you read, you’ll see he estimates it may be worth a % or so. Not worthwhile.
>Oh pulease, the number of studies out there comparing RISC
>to EPIC is HUGE. You’re some how claiming that EPIC is now
>a super CISC? meaning we’d be going in the complete opposit
>direction of RISC?
>
No, it is the opposite of RISC (and today’s CISC processors) because it moves instruction ordering and memory load scheduling into the ISA rather than hardware.
>Come on, if it were the case, compilers and crap would be a
>walk in the park – the fact is, EPIC is the extreme of RISC
>because it throws even MORE responsibility back onto the
>programmer and compiler.
What? “compilers and crap would be a walk in the park”, eh? Very eloquent.
You implied that RISC is hard for compilers, and that’s just crap. Yes EPIC is hard for compilers, but that has nothing to do with RISC.
>Which is why I raised the question; why not compile it with >IBM’s PowerPC compilers?
And I answered. Because it would be a very minimal gain. Do you think they had not thought of that before?
EPIC is taken RISC a step further, as the instruction is expicit parallel and the compiler must take care of instruction ordering at compile time. In fact Itanic code has a lot of NOPS just because its not always possible to run instructions in parallel. RISC compilers are more complicated than CISC compilers because one CISC operation can consist of a lot RISC operations.
PowerPC is only a RISC Processor according to the IBM marketing, in fact it has more instructions than x86. So its a CISC with a few RISC features, just compare PowerPC with a real RISC.
No, a Dual 2.5G5 is fast machine. The fact that it performs slower on a certain game under certain conditions (we don’t know what Tiger will add) does not make a machine slow. Doom 3 is very demanding on the graphics card, but how do we know the CPU is being fully taxed? The fact that the fps drops so quickly with increased resolution and textures is a clear indicator that the bottleneck here is in the rendering-thus the point i made about drivers being the culprit.
…
SmallStepForMan: “since Apple makes most of its money from Hardware, it’s in their interest to make the game underpreform, hence forcing Mac fanatics to open up their wallet and cough it up (upgrade).”
Nah. This is a Dual Processor G5 2.5 GHz, this is the best MAC money can buy period not only is it the best mac ever made, these people have shelled out $$$$ and bought the latest and greatest graphics hardware from ATI.
Is it not clear, all the excuses, ifs and buts and denials cannot cover up the truth that the problem is likely 90% a problem with OS X Operating system architecture.
It might be a trivial problem (is it solved in Tiger? If solved it would prove the value of the $150 upgrade 10.3->10.4):
* The IBM G5 is a great processor Microsoft is using it in XBOX Next/360
* There are no flies on the X800
>EPIC is taken RISC a step further, as the instruction is
>expicit parallel and the compiler must take care of
>instruction ordering at compile time. In fact Itanic code
>has
No, EPIC hasn’t taken RISC a step further. Today, RISC is about out of order execution (and yes, OOE CISC architectures have RISC like backends with fixed size instructions, load store architecture, etc). EPIC is about explicity putting instruction and memory scheduling information into the ISA.
>a lot of NOPS just because its not always possible to run
>instructions in parallel. RISC compilers are more complicated
>than CISC compilers because one CISC operation can consist of
>a lot RISC operations.
This isn’t considered more complicated these days. These days, generating the code to get something done is trivial. Getting it done fast is what is hard. High level optimisation and transformation, pipeline hazards and related, pipelining dependancies, register allocation, size/speed tradeoffs, etc are far more important.
>PowerPC is only a RISC Processor according to the IBM
>marketing, in fact it has more instructions than x86. So its
>a CISC with a few RISC features, just compare PowerPC with a
>real RISC.
No, real RISCs these days are fixed instruction length, wide issue, pipelined, load/store, OOE architectures.
The “goodness of RISC” had relatively little to do with the number of instructions in the ISA.
To all those that think things are really that different .. both are post risc/cisc processors (the g5 has a hell of a lot of instructions (including altivec) for a RISC processor) and the AMD and intel chips use microcode and are actually RISC chips with instruction decoding..
The G5 has a SIMD rotate instruction (hello cracking) and the p4 has a fast float to int conversion (hello fixed point performance.. (note the g5 has aweful floating point performance and good SIMD performance so float to int conversions are even more important than on the p4 where you can use SIMD on 64 bit floats).
If your going to post how one is way better than the other.. give it up.. your wrong.. real world performance and benchmarks prove it.. they are similar architectures with minor differences that sometimes make a slight difference.
If in doubt resort to specmark.. after all who can get more out of a chip than the maker ? .. hmm Why did Apple publish fake p4 specs and not publish their own independantly like everyone else. Anyway if your coding your own app check specmark performance.. if your using someone elses check online for benchmarks.
Small performance differences are irrelevant on multi GIgHz machines.. please move along nothing to see here.
Can you post an exact source of your information?
the mac crowd is realy priceles… don’t port a game and they whine… port a game and they will whine…
why can’t you just be happy that a great fps game was ported to macs, which isn’t happening that often, is it?
They should have tried at least the results compiling the game with the IBM Compiler.. Which is much more optimized than GCC 3 & 4..
http://www-306.ibm.com/common/ssi/fcgi-bin/ssialias?subtype=ca&info…
http://www.absoft.com/Products/Compilers/C_C++/XLC/XLC.html
http://www.macrumors.com/pages/2004/01/20040114153119.shtm
“Generation of highly optimized code which exploits the IBM PowerPC architecture within the Power Mac G5
C and C++ programming language standards conformance
Binary compatibility and coexistence with gcc V3.3
Support for the Velocity Engine through the AltiVec programming interface
GCC command line compatibility
Documentation that supports the Mac OS X help architecture.”
I think the biggest problem is with the John Carmack’s hand-coded MASM for x86 which isn’t available for PowerPC..
Quake 3 was much more optimized, especially by Graeme Devine, which was one of the lead developers of quake 3 at ID..
It’s true that there are barriers.. But for sure, Aspyr could have done more..
even if masm (i thought he was using nasm?) was available for mac, assembly code is meant to be fast not portable, so it would be useless. one problem with powerpc cpus is, programming for altivec is quite complex. i bet they could have made doom3 running at the same speed as an comparable x86, but they would have to start nearly from scratch.
they should wait 1-2 years before porting games from x86 to mac, because macs with enough cpu power would then be more widespread and thus offering more marketshare.
“* The IBM G5 is a great processor Microsoft is using it in XBOX Next/360”
From what I’ve heard its not a G5 in the xbox its another custom PPC cpu with supposly triple cores.
Try turning that around:
“The windows crowd is really priceless… dont do security fixes and they whine… issue SP2 and they will whine…
Why can’t you just be happy that 1 windows bug was fixed, which isn’t happening that often, is it?”
Seriously. Look at what the article states:
The performance differences you see between Doom 3 Mac and Windows, especially on high end cards, is due to a lot of factors (in general order from smallest impact to largest):
And of course the reason quoted is the FIRST ONE – MEANING THE SMALLEST IMPACT. And in fact that makes sense, since when they turned off Video rendering and just let the game process the gameplay without rendering anything, they got a huge boost in fps (i think around 5x as much). Meaning the CPU is not a real bottleneck for the Dual G5 system. The video card.
And indeed the video card reasons are the ones that are listed last, IE MOST IMPORTANT:
3. More robust and modern OpenGL implementation on OS X. The fact that OpenGL is engineered from the ground up on OS X to be accessible from many applications at once is wonderful for the rest of the world, but does have a performance hit for games. Sharing GL with the rest of the system invokes a small overhead that Windows doesn’t have, since Windows can basically assume GL is just in use for one application.
4. OpenGL framework/drivers split on OS X. On Windows, ATI and nVidia are responsible for the OpenGL code all the way from the hardware to the game. On the Mac, Apple handles the top layers of OpenGL and then hands data off to the video card drivers. On Windows this allows the video card manufacturers to do some more direct optimizations that make sure data gets passed to the card as fast as possible. The Mac can’t short circuit that process, since there is a fairly well defined boundary between GL and the video card drivers. This is complicated by the more modern GL implementation on OS X as well- Apple can’t just put in a bunch of hacks to shove data around the wall and into the cards, just for the game.
5. And the last, but definitely most important factor: Amount of time Apple/ATI/nVidia have had to optimize specifically for Doom 3. On Windows, ATI/NVIDIA spent multiple programmer years tuning their OpenGL implementations for Doom 3, starting back over a year ago while the game was still in development. Apple/ATi/NVIDIA have done an immense amount of work on OS X’s GL in the last 3-4 months, but there is no way they could get as much done as the dozens of Windows engineers working on the problem for over a year. 10.3.8 includes a huge number of GL optimizations that make a big difference in Doom 3, and the game wouldn’t have been in any shape to ship without these. One of the biggest things ATi & nVidia do on the PC for Doom 3 is have application specific OpenGL optimizations just for the game. They can detect Doom3 is the application using GL, and even which shaders it is downloading — then they can shift to a mode that is highly optimized just for those cases.
I wonder why these companies seem to be designing their games for .001 percent of the machines on the market. Do these companies get beta versions of the Next Gen graphics card? Do they design their games for the graphics cards that will be out in 2006?
Seems to me they are in danger of burning their customers.
I bought a Microsoft game a few years ago that ran on my new high spec Athlon laptop, at the time, ONLY in 640*480 mode. Quite a disappointment. I never bought another Microsoft DirectX game again. The game was some motorcycle racing game. Actually, I;ve never bought another game again.
Tech^salvager: “From what I’ve heard its not a G5 in the xbox its another custom PPC cpu with supposly triple cores”
Well the fundamental point is the PPC design is fine and will be reused in the Next XBOX iteration. Anyway Macs are not designed for demanding games like DOOM II, Mac users who are into gaming can buy a dedicated console.
Goes to show that comparing a Apple to a Lexus/Beamer is a really flawed comparison. Yeah Apple may have a price tag that puts it in its own class – but unfortunately this is where the similarity ends. It is clear that Apple’s hardware/software (OSX) is underpowered for the requirements of Doom. I have noticed that in general Apple is not a good platform for graphics – just seems that Windows smokes Apple in this regard. I have seen the same behavior with other applications – it is so pathetic when you see OpenGL running better on 5 year old PCs than on a brand new gumdrop OSX. Sad – tsk!! It is quite surprising that the penalty for float to int is significant – there really should not be much of a performance hit as this could be done in the same clock cycle. Sigh – maybe someday Steve will just get it. Utility over style first.
if the ppc is so bad for games, what are the people at xbox2 thinking?
Good point. I wonder what Nintendo and Sony are thinking too, since Nintendo uses PowerPC and the Cell has a POWER core in it too.
And of course the reason quoted is the FIRST ONE – MEANING THE SMALLEST IMPACT. And in fact that makes sense, since when they turned off Video rendering and just let the game process the gameplay without rendering anything, they got a huge boost in fps (i think around 5x as much). Meaning the CPU is not a real bottleneck for the Dual G5 system. The video card.
I have said it countless times that Doom’s stencil shadows are done on the CPU. If you know anything about Doom’s graphics you would know that the bottleneck is always the CPU[1]. They tested it on X800XT, which is powerfull enough to run Doom at amazing frame rates, but it is hold back by the CPU.
See Anandtech’s article: http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2149
@Traigon:
“It is clear that Apple’s hardware/software (OSX) is underpowered for the requirements of Doom”
“It is quite surprising that the penalty for float to int is significant”
Have you even read the text ?
Number 1) (float-to-int) is LEAST SIGNIFICANT
And the most important factor is time spent in optimizing the code for the architecture which happes to be a number of times more on x86/windows as is done on PowerPC/mac os x
No? How about Underpowered PC. Not that either? I dunno… PowerPushBroom PC maybe? Oh well… Will I be buying a Mac any time soon. I don’t think so…
I just built an Athlon64 3200 system with a 256MB X800 Pro for less than the cost of an eMac.
This is precisely the reason I use a PC for gaming and MacOSX for everything else. Other than gaming I do not use the PC for browsing or email virtually eliminating a host of security issues. The Mac handles everything else and I don’t worry about malware, spyware or viruses. Other than having SP2 and games on my PC I have no reason to run virus protection or adaware stuff.
IMHO Consoles suk for gaming. Lousy graphics and slow. If you want to pile up the body count in DMs use a PC.
Blizzard bought a mac development team several years ago who used to port Windows games to the Mac (if I remember correctly, they picked the team up while working on Diablo II). So Blizzard now has a complete in-house development team, meaning the mac developers can work much closer with the other development teams throughout the stages of production and produce a much better final product on the Mac side than quick out-sourced ports can. This is also the reason every Blizzard game is now released at the same time for PC and Mac.
This is the best solutions to the problem. Issues can be addressed as they happen. Not after the code is GM and shipping. Quake3 was pretty much done the same way, as Id was the actual one doing the codebase for both (in house), unlike Doom3, which was dumped off. For this reason I can’t sit there pointing fingers at Aspyr. They did what they could with what they had, simple as that. Bottom line now it is what it is, it should get better as its optimized over time. The main problems are software/driver issues with the OS and the game itself.
Warcraft is not CPU or GPU intensive as FPS but still good games. I am happy with Blizzard products on the Mac. My games are MOH, RTCW and Call of Duty all of which will play OK on a G5 but I don’t think you should need a Dual G5 to play games at an acceptable framerate. Part of the problem is with the original game developers and I think Apple is to blame as well.
You wrote:
And of course the reason quoted is the FIRST ONE – MEANING THE SMALLEST IMPACT. And in fact that makes sense, since when they turned off Video rendering and just let the game process the gameplay without rendering anything, they got a huge boost in fps (i think around 5x as much). Meaning the CPU is not a real bottleneck for the Dual G5 system. The video card.
I have said it countless times that Doom’s stencil shadows are done on the CPU. If you know anything about Doom’s graphics you would know that the bottleneck is always the CPU[1]. They tested it on X800XT, which is powerfull enough to run Doom at amazing frame rates, but it is hold back by the CPU.
Pay attention to the X800XT reference GPU. Apple’s I/O Team doesn’t write the code for this device driver. If ATI and nVidia want I/O Kit optimized drivers they either contract it to Apple or hire some competent ObjC++ Developers which I think will change once GCC4.1 is released with all the modifications to C/ObjC/ObjC++ Apple submits back into the tree.
Win2k does not support DirectX well, I am sure XP would kick Linux’s and 2k’s a$$ on the same machine on the same game.
As far as DirectX being slower in win2k… Doom 3 is an OpenGL game, it doesn’t utilize DirectX, and by the way, it runs faster (with the latest patch) under linux than it does under windows on my hardware. And I am running WinXP SP2.
Back on topic. I would think if it were programmed simultaneously on the PPC and X86, it would run quite well on the PPC. But we can all bet that the video drivers still have probably the greatest impact on performance for this game.
Doom 3 makes use of DirectX for sound and input. It does not use Direct3D, which doesn’t matter much because Direct3D performance on NT5 is comparable to that of XP.
Doom 3 performs better in Windows than Linux on the same hardware, which can be seen through independent benchmarks and has been discussed by developers from id. Claims otherwise are indicative of differences in configuration.
So Macs suck at gaming, and dual G5s at that. What else is new? The most you can get out of a Mac is somewhere sub-60 FPS, and the in particular nVidias don’t show up very well on a Mac for gaming. The work on drivers isn’t as great as for the PCs, and you’ve essentially got a game designed and built for x86 ported to another architecture. Add all that up and you’re not going to get great performance, although it might be adequate.
The Xeon systems also get a good pasting by the Athlon and Opterons.
Know what you are measuring.
In many instances, graphically intensive games spend the MAJORITY of their time in the graphics driver. Quake 3 spends roughly 70% of it’s time there.
Now, in Doom3, it’s not quite like that, the physics, AI, sound are much more prominent, and there is a significant amount of lighting calculations done on the CPU. Even so, much of the time is spent in the graphics driver, this means we’re measuring for the most part, graphics driver performance. Drivers for non-windows platforms aren’t as good. Even Nvidia, who’s Linux driver development keeps excellent pace with its Windows, is behind. If you find your Linux box out pacing the windows box, remember you can easily reduce the number of processes running, crank up the priority of the game and strip it down further than you could with Windows. Not to mention custom lean kernels and processes being compiled with a high degree of optimization. All this frees up memory, bandwidth and CPU time for the game which should yield significant boosts.
As for the hardware, G5 has a rather strong FPU, especially compared to say the P4 — unless you bring in SSE2. Also, isn’t Altivec an integer SIMD unit (I could be all together mistaken)? If I’m right, it won’t help too much.
The g5 has a rather weak FPU compared to p4.. and altivec supports only 32 bit floats .. not 64. SSE2 supports all FPU functions in SIMD as does opteron. G5 has no such facility hence is not a good choice for scientific applications which almost always require 64 bit precision.
http://www.azillionmonkeys.com/qed/apple.html
…etc…
While this is a mildly interesting thread … please remember this, folks: 98.9% of Mac users could give a fetid horseshit about Doom 3’s framerates on a G4/G5/whatever. They use their Macs for other things.
Class dismissed.
Hence, ladies and gentlemen, why the Mac will never be more than a marginal player in the PC space (that may eventually disappear due to the inbred cluelessness of the milleu).
NOW YOU may leave class, rockwell…
One has to remember that the Doom3 game was created, designed and optimised for the Intel Platform.
To get the full performance and capability of the RISC chip, the software has to be written for the RISC platform as well as to use an optimised compiler for the RISC platform.
What Aspyr did was to port the game over to the PowerPC platform. Porting will not give you superb performance. So, basically speaking, it’s basically the software that is the issue.
Regards.
from what I remember Quake III on the Mac obliterated the PC – because ID themselves spent the time to do it right and actually optimize for the platform.
as someone mentioned before, it’s simply lazy coding to blame.
One has to remember that the Doom3 game was created, designed and optimised for the Intel Platform.
One has to remember that you are completely clueless. Doom3 was designed with machine independent algorithms. This isn’t 1992. How much assembly code do you think is in Doom3?
To get the full performance and capability of the RISC chip, the software has to be written for the RISC platform as well as to use an optimised compiler for the RISC platform.
That was worse than the last one. Doom3 was written in C like all games are (or C++). It’s not “written for the RISC platform”.
No wonder you mac fanatics are laughed at.
No, there exists no benchmarks not fabricated by Apple that demonstrate that Quake 3 performs better on a Mac than a comparable x86. On the other hand, Apple did post (as usual) benchmark results claiming that woefully underpowered G4s were outperforming significantly more powerful x86 machines. They also released some phony claims about the G5 iMac compared to various G4s in gaming as well.
This shows nothing more than the obvious.
• Porting Games always blows chunks.
• Game studios are not fully supporting the Macintosh.
All these “ohh eww Mac’s suck at performance” are just foolish comments based on mental masturbation.
This meeting is over.
So what? People like to enjoy a little mental masturbation every once in a while.
Mr. Lumbergh,
If writing games in C or C++ makes it machine independent, then why does there have to be porting at all? It should all just work with a recompile, right?
The mere blatant fact that it came out six months later is a good indicator that your point about game code being equal across platforms is absolute crap. Blizzard was able to significantly improve WoW performance on the mac with a point release. Now why would it only improve the mac version if the code was all the same? Who’s clueless now?
No wonder you PC ostriches are laughed at. Take your head out of the sand!
special ed class, dismissed! (can one person make a class?)
The website you posted is the biggest FUD producing site i’ve ever seen, and you know it. Whoever wrote it is more biased against apple than apple is against PC. There is a nugget of truth to everything that is said, but at the same time its all heavily biased opinion and writing style. Take a look at real-world benchmarks on apps people actually use and you’ll see that the Top G5’s are pretty comparable with the top X86. AMD just released new proc’s, and IBM will soon release 970MP. It all depends on two things:
1) at what point in the update cycle are you doing the benchmarks?
2)Related to reason 1, who do you want to win. It will make you biased and thats life. Terrorists think they are going to heaven, and thats life(its also an extreme)
>The IBM G5 is a great processor Microsoft is using it in
>XBOX Next/360
Not quite a PPC 970FX i.e. only 2 IPC per core VS PPC970’s 4(+1 branch) IPC. Secondly, XBOX360’s PE _may_ have an issue with in-order Vs out-of-order processing (refer to Cell’s POWER64 SoC core).
>from what I remember Quake III on the Mac obliterated the >PC
Not against AMD64s…..
Why is it that people that don’t write software attempt to discuss the technical details of writing software?
Doom3 was designed with machine independent algorithms.
Err, no. Anyone who has a modicum of sense knows that a piece of software like a game becomes much more optimised for a platform that it was initially written on. For software such as games it is never as simple as writing in C and re-compiling because you take advantage of all the optimisations you can.
However, I don’t think that is 100% the problem with Doom 3 on a Mac. The main problem is the Mac system, how it is compiled, the OpenGL video drivers and the way OpenGL is handled by a Mac.
That was worse than the last one. Doom3 was written in C like all games are (or C++). It’s not “written for the RISC platform”.
I’m afraid you don’t just re-compile a game written in C for another platform I’m afraid – ever. That’s just stupidity. There’s a heck of a lot of porting involved, especially with games, and no, you don’t just re-compile it. Even with a lot of established bog-standard open source software out there, porting to PPC or even to x86-64 is quite an effort before it works 100%. I’m afraid you’re just totally clueless.
However, it’s quite clear that whatever the excuses Macs are just not up to the job for gaming.
C/C++ compilers use specific algorithms for specific chips dumbass.
Doom 3 sucks. If HL 2 was out for the Mac then I would care. I have a dual proc G5 and an AMD 3800+ for games. I didn’t even bother buying Doom 3 for the PC. I regularly beat the pants off PC weenies in COD and Halo on my Mac.
G5’s are fast machines. I don’t care if they run a lame half-ass port like Doom 3 or not. OS X makes XP look like the piece of shit that it is. Tiger will widen the gap even more.
Dump your damn Mac POS and go buy a windows computer! Jesus people, You don’t hear people who buy diesel vehicles bitching because there’s NO DIESEL GAS, do you? Get with the standards already. Linux / Mac sucks, Windows rocks, and that’s all there is to it.
Such statements doesn’t addresses the issue. Secondly, Doom3 is license capable 3D game engine.
As for Halo, refer to
http://www.barefeats.com/mac2pc.html
>That said, gcc on POWER is probably not quite as optimal
> as VC on Intel (VC is probably even using an intel
>compiler).
Have they state this fact? Note that the current Doom3(IA-32) was not optimized for AMD64 i.e. exposed 16 GPRs.
Hey thanks guys, I couldn’t have said it better.
People who don’t know anything about the subject should keep mum.
Regards.
Anonymous (IP: —.freedom2surf.net): I’m afraid you don’t just re-compile a game written in C for another platform I’m afraid – ever. That’s just stupidity. There’s a heck of a lot of porting involved, especially with games, and no, you don’t just re-compile it. Even with a lot of established bog-standard open source software out there, porting to PPC or even to x86-64 is quite an effort before it works 100%. I’m afraid you’re just totally clueless.
A number of programs (including games) can be simply recompiled. I have done it myself. So you can’t say it never happens. That’s nonsense.
Also… There’s a number of ways to write code. Some of them actually increase the ease of porting code from one platform to another. These methods are actually quite good and have existed since before I was born. The biggest problem with these methods, is that it can be difficult to get platform dependent optimizations in them. Also, its quite possible that these established methods do not work for all programs. (Though I’d wager they do)
The biggest problems from my experience are the following: 1) The APIs are different, 2) Different platforms sometimes have different sizes for basic C types (like int), 3) Optimizations can be different and are sometimes taken into account in the design of the system, 4) Most people do not care to make the attempt to write platform independent code, 5) Most people don’t even seem to know the “established methods” which I have mentioned. If you don’t know, look them up.
And yes… C is a “high-level” language if you actually write code correctly, it should be either a simple recompile or require only a “small number of changes” to port the code over to another platform.
This is true even of LOW-LEVEL operating system code.
Did anyone else notice that these benchmarks use dissimilar machines?
The fact that a mac only lagged behind a system with a better ati card by 4 fps isn’t bad? (x800 vs x850).
There isn’t really any performance difference there at all, especially since it’s comparing ATIs “performance” (x800) card to their “powerhouse” (x850) card.
The problem seems to lie only with the Nvidia drivers. It’s well known that this game was written for Nvidia cards (note 9 fps increase between x850 and geFU on xeon). If the performance of the GeFU is worse than that of the ATI card on the mac, that’s seriously backwards from what it should be, and points to the Nvidia drivers directly. Fix those and performance will go up.
That would mean that the main problem has nothing whatsoever to do with the Mac, and is all on the graphics card company (as was stated at the end).
That would also mean that all of you who are ranting about the comparison between the two systems are idiots, because that’s seriously the most noticeable thing about the whole article. You don’t even have to read it, it’s that obvious from the graph.
All readers who didn’t see that on their own within 5 seconds of seeing the graph (i.e. read the rest of the article instead of noticing it was a waste of time) no longer deserve their computer priveledges. Push the power button and walk away.
Doom is fun but macs are really not for gaming. Rather they are best for making movie and digital stuff.
[email protected]