Forums | MacLife
You are not logged in.
#101 2005-03-04 1:37 pm
- avkills
- demyelinated brain matter

- Registered: 2001-05-09
- Posts: 7094
Re: Doom3 shown at Austin store, help
Jehannum wrote:
There is the perception that if one has the necessary knowledge to code in asm, he/she must write more efficient code. This isn't a valid perception.
I'm not saying that Assembly is always faster, but I can probably guarantee you that a computer programmer who also possesses a Masters in Math, who also understands SMP very well could probably smoke the compiler. Very rare skill set indeed, but not out of the question. I mean the time and commitment required for such an endeavor is probably not worth it overall, but I have faith that the compiler can be beat.
-mark
Offline
#102 2005-03-04 2:45 pm
- mo' ron
- PS3 4 EVA

- From: NC, USA
- Registered: 2002-10-15
- Posts: 14240
Re: Doom3 shown at Austin store, help
There is the perception that if one has the necessary knowledge to code in asm, he/she must write more efficient code. This isn't a valid perception.
Overall, the algorithm is far more important than the language used (except in extremely superficial examples, like BC's VB vs. asm).
This is true, but to write good C code, it takes pretty good knowledge of assembly (and how the C instructions are translated). For fairly simple, mundane stuff, the C compiler is probably going to do a better job of optimizing code, but for new innovative algorithms (that a game engine as complex as doom3 would likely have), I would bet than the hand-tuned assembly would do better.
But, it's extremely mind-numbing to program in assembly. I think the first version of VPC was done in assembly though, and the subsequent versions evolved from this. And with good profiling tools that can tell you where an application chokes (such as those included with the Developer Tools), you can usually get the C to a pretty well optimized level. On the G4 and G5, compilers aren't smart enough yet to figure out how to effectively use altivec (by they are working on it, and getting better at it), so a programmer would have to go out of his (or her) way to learn about altivec to use it well (it's suppose to be relatively easy to use though).
What is the difference between Vista and OSX?
- Microsoft employees are excited about OSX.
Offline
#103 2005-03-04 3:09 pm
- Jehannum
- Banned
- From: Albuquerque
- Registered: 1999-07-24
- Posts: 8404
Re: Doom3 shown at Austin store, help
avkills wrote:
Jehannum wrote:
There is the perception that if one has the necessary knowledge to code in asm, he/she must write more efficient code. This isn't a valid perception.
I'm not saying that Assembly is always faster, but I can probably guarantee you that a computer programmer who also possesses a Masters in Math, who also understands SMP very well could probably smoke the compiler. Very rare skill set indeed, but not out of the question. I mean the time and commitment required for such an endeavor is probably not worth it overall, but I have faith that the compiler can be beat.
-mark
Not in this task (rewriting the OpenGL handler in OS X). Like I said, the compiler does data flow modelling trivially, where your average (or even significantly above average) programmer wouldn't.
There are tasks where assembly makes sense. A moderately to very large project isn't one of them.
In an absolute sense, yes, a human can beat the compiler (if, for no other reason than he can take the output of his high level language's compilation and edit the assembly the compiler produces). In practical terms, it doesn't happen.
"Goodness he just keeps going and going. He's like the energizer bunny of stupid." - Neut
Your powers are useless! I'm wearing my tin-foil underwear!
Offline
#104 2005-03-04 3:22 pm
- dj phat 2000
- Member
- From: New York, USA
- Registered: 2001-06-22
- Posts: 2667
- Website
Re: Doom3 shown at Austin store, help
Just something of interest. I re-checked out barefeets site and saw this..
All things being considered here, the G5 is not doing bad compared to the Xeon, which is clocked about 1GHz faster with a more powerful video card to boot. To be out only 8FPS lower is pretty damn good really. This being a ported game from Direct X to Open GL on the Mac no less. So, in my view there is a problem with how Doom III works on the Mac. If our hardware can push almost the same power as a PC that is clocked a good deal faster and with a better video card. Doom III has something special going on there then.
I know the Athlons blow the doors off them all but, to be fair they pwn! Intel in games. Hands down winners. My point is that we are pretty much up there with them, and given our short comings (games are ported), really not doing bad here. And from the looks of it, Nvidia really needs to get working on there drivers cause, ATi is looking pretty good from this point. On the PC side there cards beat ATi, but not by much. There seems to be room for improvement there as well.
If we could get to be up there at least in game performance with the intel chips. There should be nothing to complain about. If anything we already are there, just need our smurf going on the driver/open gl front.
Apple is the only company that makes you want everything they create... MacAddict-4-Life
Offline
#105 2005-03-04 3:29 pm
- Jehannum
- Banned
- From: Albuquerque
- Registered: 1999-07-24
- Posts: 8404
Re: Doom3 shown at Austin store, help
mo' ron wrote:
There is the perception that if one has the necessary knowledge to code in asm, he/she must write more efficient code. This isn't a valid perception.
Overall, the algorithm is far more important than the language used (except in extremely superficial examples, like BC's VB vs. asm).This is true, but to write good C code, it takes pretty good knowledge of assembly (and how the C instructions are translated). For fairly simple, mundane stuff, the C compiler is probably going to do a better job of optimizing code, but for new innovative algorithms (that a game engine as complex as doom3 would likely have), I would bet than the hand-tuned assembly would do better.
There's an axiom in computer science: It's been done before, better.
John Carmack probably hasn't done anything in the way of "innovating" algorithms in the Doom3 engine. The complexity of modeling and simulation programs I won't deny, but when you break it down, it's still going to be the same old graph theory and spanning set algorithms repurposed.
An algorithm is a way to solve a problem, and the good computer scientist uses functional decomposition to break a bigger problem down into small, manageable ones. The small, manageable ones have been theorized by Kent Beck to be solvable with approximately 800 objects (in smalltalk, of course, lol).
I would bet that hand-tuned assembly wouldn't do any better than compiled in this case, because of the volume.
"Goodness he just keeps going and going. He's like the energizer bunny of stupid." - Neut
Your powers are useless! I'm wearing my tin-foil underwear!
Offline
#106 2005-03-04 9:47 pm
- Bat
- Flawless Cowboy
- Royal Wombat

- From: Björk, Björk
- Registered: 2001-05-14
- Posts: 28541
Re: Doom3 shown at Austin store, help
dj phat 2000 wrote:
Just something of interest. I re-checked out barefeets site and saw this.. [snip]
Well, this actually isn't a very good comparison case. The game engine is several years older than D3, the sound handling is much different, it's a port (of a port) from a console with 64MBs total shared RAM which was only somewhat rewritten to suit the greater resources available on its new home[s], 1600x1200 stresses the video subsystem to the max, not the CPU/ platform, and- you must always specify and keep consistent test conditions when benchmarking.
Halo Timedemo is a series of four cutscenes, loaded from disc, played back and timed, 4700 frames total (the scenes were composed at XBox' 30 f/s), run as fast as possible.
So
1) it's a combination rendering and disc speed test. It should always be run 2-3 times and the better/ best time taken, since the first run doesn't benefit from the precaching the system will do on 1 and subsequent runs will benefit from.
2) Barefeats states that they test
...
Particles = High, Texture Quality = High
SOUND: Sound Quality = Low, Sound Variety = Low
Keeping sound settings Low and the res at 16*12 is a good way to isolate the graphics subsystem. It minimizes the load on the CPU which woud have more work to do decompressing and playing back multiple audio streams on Med or High. It doesn't make a good comparison against PCs running Halo, which are virtually always tested in their best modes (the highest shader level the game runs on its videocard, other settings including sound maxed including environmental sound [EAX] if available, not supported on Mac).
So, while a creditable showing, the Barefeats test here isn't very good for judging the G5's comparative game performance.
If all economists were laid end to end, they would not reach a conclusion - George Bernard Shaw
"Fire up a colortini, sit back, relax, and watch the pictures, now, as they fly through the air."
Offline
#107 2005-03-05 12:20 am
- dj phat 2000
- Member
- From: New York, USA
- Registered: 2001-06-22
- Posts: 2667
- Website
Re: Doom3 shown at Austin store, help

but, 8 frames man. Give me a bone doc......
Lie to me damn it. 
Last edited by dj phat 2000 (2005-03-05 12:21 am)
Apple is the only company that makes you want everything they create... MacAddict-4-Life
Offline
#108 2005-03-05 12:52 am
- Twisted Guy
- President of the Galactic Confederacy

- Registered: 1999-03-28
- Posts: 15984
- Website
Re: Doom3 shown at Austin store, help
Bat wrote:
It minimizes the load on the CPU which woud have more work to do decompressing and playing back multiple audio streams on Med or High.
I'm calling you on that one. On my Dual 2.0 there is no difference in framerate on high audio settings or low audio settings. No difference at all. I imagine that the case would be the same on a Dual 2.5. They could run their tests with high sound quality and achieve the exact same results.
Bat wrote:
the Barefeats test here isn't very good for judging the G5's comparative game performance.
And I disagree. If running the same game at the same settings is not a good method by which to make a comparison, then what is?
Offline
#109 2005-03-05 2:15 am
- Bat
- Flawless Cowboy
- Royal Wombat

- From: Björk, Björk
- Registered: 2001-05-14
- Posts: 28541
Re: Doom3 shown at Austin store, help
Twisted Guy wrote:
Bat wrote:
It minimizes the load on the CPU which would have more work to do decompressing and playing back multiple audio streams on Med or High.
I'm calling you on that one. On my Dual 2.0 there is no difference in framerate on high audio settings or low audio settings. No difference at all. I imagine that the case would be the same on a Dual 2.5. They could run their tests with high sound quality and achieve the exact same results.
Technical and Performance FAQ wrote:
Sound quality
The difference between Low / Medium / High is the number of voices made available to Halo as well as the quality of the final output mix sent to the sound card. On most cards with hardware acceleration enabled, the impact on performance is negligible; however, sound cards mixing in software will likely see a difference in performance with each setting.
...
Sound variety
Believe it or not, our audio designers are so cool that they
If all economists were laid end to end, they would not reach a conclusion - George Bernard Shaw
"Fire up a colortini, sit back, relax, and watch the pictures, now, as they fly through the air."
Offline
#110 2005-03-05 8:39 am
- dj phat 2000
- Member
- From: New York, USA
- Registered: 2001-06-22
- Posts: 2667
- Website
Re: Doom3 shown at Austin store, help
Thats 1 G in GER!!!!!!!!
Magic you say 


Cause I have no choice I am gonna stick with Twisted Guys story. YUP!!!! 
Just out of curiosity. I ran Quake III demo with GL Extensions OFF. And @ 640X480, lowest settings as well. My FPS was 350. I then turned GL Extensions ON, and lost about 20 FPS at the same settings. However, I noticed the exact opposite with Star Trek Elite Force. When I turn GL off, the game runs slower overall. While with it on it runs much better.
I am wondering now what is up with Open GL. If one game gets better with it off, and the other gets better with it on, WTF is going on? Shouldn't it be better with it ON, being that the graphics card is doing the GL work in the first place? HELP
Last edited by dj phat 2000 (2005-03-05 8:53 am)
Apple is the only company that makes you want everything they create... MacAddict-4-Life
Offline
#111 2005-03-05 3:35 pm
- Bat
- Flawless Cowboy
- Royal Wombat

- From: Björk, Björk
- Registered: 2001-05-14
- Posts: 28541
Re: Doom3 shown at Austin store, help
dj phat 2000 wrote:
Thats 1 G in GER!!!!!!!!
Magic you say
Cause I have no choice I am gonna stick with Twisted Guys story. YUP!!!!
If it makes you feel good, go for it. That's what games are for, right?
Academically, it's still a mystery. Us truth-seekers have things like this to puzzle out (this from Peter Cohen at another forum, whose D3 benchmark article got this all going):
Since my article went up, I've heard back from people who point out that if you run a similarly clocked Athlon chip with the r_skiprender test, it'll return a much higher number than the PowerPC. I have to admit that at the outset, I wasn't aware of this -- I don't have an Athlon to test on.
But that definitely suggests than there's more than just OpenGL drivers at work here. I don't dispute that they probably play a factor, and may play even a significant factor, but driver optimization clearly isn't the only issue.
If all economists were laid end to end, they would not reach a conclusion - George Bernard Shaw
"Fire up a colortini, sit back, relax, and watch the pictures, now, as they fly through the air."
Offline
#112 2005-03-05 5:01 pm
- dj phat 2000
- Member
- From: New York, USA
- Registered: 2001-06-22
- Posts: 2667
- Website
Re: Doom3 shown at Austin store, help
Seems that the Linux port is slower with the same PC hardware. Just, in the end. Even that is faster then the Mac Port. 
WHY GOD WHY?
Apple is the only company that makes you want everything they create... MacAddict-4-Life
Offline
#113 2005-03-11 4:23 pm
- Bat
- Flawless Cowboy
- Royal Wombat

- From: Björk, Björk
- Registered: 2001-05-14
- Posts: 28541
Re: Doom3 shown at Austin store, help
Why?.. well, someone's going to spot and post this eventually, so it might as well be now.
MAC GAME PERFORMANCE BRIEFING FROM THE DOOM 3 DEVELOPERS
Glenda Adams, Director of Development at Aspyr Media, has been involved in Mac game development for many years. I asked her to share a few thoughts on what attempts they had made to optimize Doom 3 on the Mac and what barriers prevented them from getting it to run as fast on the Mac as in comparable Windows PCs. Here's what she wrote:
GlendaAdams wrote:
Just like the PC version, timedemos should be run twice to get accurate results. The first run the game is caching textures and other data into RAM, so the timedemo will stutter more. Running it immediately a second time and recording that result will give more accurate results.
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):
1. 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. It requires re-engineering much of the game's math code to keep data in native formats more often. This isn't 'bad' coding on the PC -- they don't have the performance penalty, and converting results to ints saves memory and can be faster in many algorithms on that platform. It would only be a few percentage points that could be gained on the Mac, so its one of those optimizations that just isn't feasible to do for the speed increase.
2. Compiler differences. gcc, the compiler used on the Mac, currently can't do some of the more complex optimizations that Visual Studio can on the PC. Especially when inlining small functions, the PC has an advantage. Add to this that the PowerPC has a higher overhead for functional calls, and not having as much inlining drops frame rates another few percentage points.
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.
The good news on all of these fronts, especially the last one, is that Doom 3 is such a highly visible benchmarking application, Apple/ATI/NVIDIA/Aspyr are all going to be continuing to work on increasing performance over the coming months/years. Just like what happened with Quake 3, the Mac OS matured, video card drivers got more optimized, and the game was tweaked so that eventually Mac performance is now as good or better than comparable PC hardware (I'd be really interested to see benchmarks with Quake 3 with the original shipping Mac app & version of OS X versus the latest app & current OS on the same hardware). Games drive hardware and the OS, and Doom 3 will likely push Apple to upgrade consumer video cards and continue to spend engineering time in the future to speed up OpenGL.
http://www.barefeats.com/doom3.html
(Oh, and the #6, mostest most important reason: because NAG is tired of Doom 3 news!
)
If all economists were laid end to end, they would not reach a conclusion - George Bernard Shaw
"Fire up a colortini, sit back, relax, and watch the pictures, now, as they fly through the air."
Offline
#114 2005-03-12 12:56 am
- dj phat 2000
- Member
- From: New York, USA
- Registered: 2001-06-22
- Posts: 2667
- Website
Re: Doom3 shown at Austin store, help
Can someone help me find news about Doom III? Google is down, 
Apple is the only company that makes you want everything they create... MacAddict-4-Life
Offline
#115 2005-03-12 6:55 pm
- macmenace
- DigiPen Student

- From: Redmond, WA
- Registered: 2004-03-25
- Posts: 1974
Re: Doom3 shown at Austin store, help
So macaddict.com says DOOM 3 is out, so when is the demo.
Mac Pro, Two 3GHz Dual-Core Intel Xeon, NVIDIA 8800 GT, 7 GB RAM.
15" Macbook Pro, 2.8Ghz Core 2 Duo, NVIDIA 9600 M, 4 GB RAM.
Offline
#116 2005-03-12 10:30 pm
- ABigSmall
- Member

- Registered: 2004-03-13
- Posts: 4245
Re: Doom3 shown at Austin store, help
I'd say at least a month or two until the demo comes out. They've been busy working on the port.
Offline

