Wow, this escalated fast. It's definitely exceeded my comfort zone though so I've used a new bogus email address to register here to make tracking me more difficult. I think I'm gonna stick to lurking from now on as I'd like to keep my job But there's a few things that need to be cleared up. I'll try to keep it short, so I'm only quoting parts of peoples posts:
"He is complaining about doing extra work to get performance to match what can be obtained on another vendors hardware."
Not exactly. I prefer working with hardware that helps me, not hinders me. The more time I have to spend getting around hardware quirks/limitations means less time to add new cool features, and the longer it takes to get the game into your hands. There are some coders that love the challenge that quirky hardware poses. My preference though is to spend my time on making the best visuals and adding new features that were impossible on old gen.
"Complaining about having to pre-cull geometry on the SPU before sending to the GPU... The fact that the Cell is good at that should be listed as a strength, but he cites it as a weakness because he does not want to spend the effort to tap that performance."
Normally i would agree with you. In this case though it's not a strength, its a requirement because you have to do it to help the PS3 keep pace with the 360. Remember as well, we already lose one spu to redundency, and another to Sony. We're left with 6, but now we need to spend some of those to help the rsx. I'd far prefer using spu's for full cloth sim on all characters, collision code, animations, etc. I don't mind learning new hardware, me and others do it all the time.
"...would not be surprised if ppl working on 360 and suddenly dropping their datasets onto RSX would not observe good numbers (and viceversa)"
This is far more true going from 360->PS3 than the other way around, again assuming gpu to gpu only. The 360 isn't flawless to be sure. Having to tile because of the tiny amount of edram is a pain, and edram resolves while quick, can still add up (you don't need to resolve on PS3). Still though, I'm far more impressed with the 360's gpu and I'm comfortable saying that feeding an identical 3d scene to PS3 and 360 will result in better framerate on 360.
"Who’s to say he isn’t jaded by his own personal feeling about Sony or it’s hardware."
I have no allegiance to with Sony or Microsoft. In fact, the PS2 is my third favorite console of all time behind the NES and the 2600.
"That and difficulty tuning his code seem to have him bitter. "
Reading back my posts, I suppose I can see how I'd be viewed as being bitter. It's more a mixture of frustration and dissapointment I'd say. I'll never understand why Sony chose that particular rev of NVidia hardware.
"The PS3 makes me work hard... screw that!"
Heh, this one is slightly amusing. We work very hard I assure you My preference is to work hard on stuff that makes the game pop, not spending tons of time just to get the machine to do the basics. That's my preference of course, we have people on staff that love the challenge of getting the PS3 to render as quick as the 360.
"But at the same time he treats the GPU as both the beggining and end of the graphics subsystem, where we know in PS3 the Cell is set to play an ever larger role as tme goes on."
That's part of the problem. I was hoping the gpu would handle itself like a modern gpu. Instead we have to use spu's to help it. The more spu's you have to use to help rsx, the less you have to spend on cool gameplay items like physics simulations.
"nyhow, I found many post by this guy (with the same residing area and screen name) asking some of the simplest questions on how to hook up his tivo to his TV. Or what’s the difference between optical audio cables and coax digital audio cable. To me even a guy with his background can figure that out by himself."
That's definitely not me. We've had tivo since 2000, and I have numerous components with either coax or optical digital out which I can hook up myself thanks The 'joker454' username is not one i chose. I picked 'joker' which was taken, and 'joker454' was suggested by the auto name generator. I suspect there are other 'joker454's out there.
"What I responded to didn't really sound like something a dev would say and contained a lot of fishy information, so I pushed it."
Ya, my first few posts were kinda ******-ish, I probably shouldn't have done that I leveled out my posts later.
"His concern over vertex attributes are very avoidable in various ways (many of which trade shader cycles for data, but since the shader instructions often don't cost you as much, it's often worth it)."
This only partly helps. It's true that in many cases is faster to just recalculate things in the vertex shader rather than passing precalculated data via vertex inputs. We already do this here and there, using PIX on a case by case basis on 360 to see where it makes sense, and likewise benchmarking PS3 to see how it likes it. But that only gets you so far. Bottom line, a next generation game uses lots of lookup maps for a variety of effects, which leads to lots of vertex inputs. Of course there are ways to simply this like packing your data, combining maps so some uv's can be tossed, etc. But you will still hit the vertex delays on rsx because some like 'position' and 'normal' are a must, so you don't have much room left to play with.
"Though I'm not sure why he's so hot on FP8... I would at least assume he meant FP10."
That's a typo on my part, 2/10/10/10 is the floating point format we need (FP10).
"There is always the possibility they are using fairly branchy pixel shaders or may have some heavy vertex work that may not port over well in a limited 2-4 month window"
Our shaders are very expensive. But then again, they look really good, and that's what nex gen is all about We can optimize them some more (we have already), but optimized shaders would still run faster on 360. Porting is not so much the problem in this case as is the rsx's unwillingless to deal with verticies. If you read the rsx docs, they are pretty much saying "please, please, please don't send verticies to rsx". The whole reason for using spu's is to do backface culling on all your verts first, that way you can send a smaller subset of verts to the rsx to get around its limited vertex processing. The rsx can backface cull them itself of course, and this does cut out pixel shader computation, but it still must run thru the vertex shader, which means it still must incur the one cycle penalty per vert input which brings rsx to its knees.
In the end my beef is with the PS3 gpu which I still feel is disappointing compared to the 360's. I have no beef with Sony or the PS3 itself. To make a nex gen game that looks of gears of war quality needs three things. Great shaders, more geometry, and lots of lookup maps. RSX has a hard time with all of those. It seems like an odd choice to me to go head to head with 360.
"we can see that many Xbox to PS ports this fall did have some issues, especially with getting framerates up. Next fall? It could be reversed.
This may very well be true! We'll have to wait and see. Spu's will help, I'll know more once I code for them in the new year.
"He is complaining about doing extra work to get performance to match what can be obtained on another vendors hardware."
Not exactly. I prefer working with hardware that helps me, not hinders me. The more time I have to spend getting around hardware quirks/limitations means less time to add new cool features, and the longer it takes to get the game into your hands. There are some coders that love the challenge that quirky hardware poses. My preference though is to spend my time on making the best visuals and adding new features that were impossible on old gen.
"Complaining about having to pre-cull geometry on the SPU before sending to the GPU... The fact that the Cell is good at that should be listed as a strength, but he cites it as a weakness because he does not want to spend the effort to tap that performance."
Normally i would agree with you. In this case though it's not a strength, its a requirement because you have to do it to help the PS3 keep pace with the 360. Remember as well, we already lose one spu to redundency, and another to Sony. We're left with 6, but now we need to spend some of those to help the rsx. I'd far prefer using spu's for full cloth sim on all characters, collision code, animations, etc. I don't mind learning new hardware, me and others do it all the time.
"...would not be surprised if ppl working on 360 and suddenly dropping their datasets onto RSX would not observe good numbers (and viceversa)"
This is far more true going from 360->PS3 than the other way around, again assuming gpu to gpu only. The 360 isn't flawless to be sure. Having to tile because of the tiny amount of edram is a pain, and edram resolves while quick, can still add up (you don't need to resolve on PS3). Still though, I'm far more impressed with the 360's gpu and I'm comfortable saying that feeding an identical 3d scene to PS3 and 360 will result in better framerate on 360.
"Who’s to say he isn’t jaded by his own personal feeling about Sony or it’s hardware."
I have no allegiance to with Sony or Microsoft. In fact, the PS2 is my third favorite console of all time behind the NES and the 2600.
"That and difficulty tuning his code seem to have him bitter. "
Reading back my posts, I suppose I can see how I'd be viewed as being bitter. It's more a mixture of frustration and dissapointment I'd say. I'll never understand why Sony chose that particular rev of NVidia hardware.
"The PS3 makes me work hard... screw that!"
Heh, this one is slightly amusing. We work very hard I assure you My preference is to work hard on stuff that makes the game pop, not spending tons of time just to get the machine to do the basics. That's my preference of course, we have people on staff that love the challenge of getting the PS3 to render as quick as the 360.
"But at the same time he treats the GPU as both the beggining and end of the graphics subsystem, where we know in PS3 the Cell is set to play an ever larger role as tme goes on."
That's part of the problem. I was hoping the gpu would handle itself like a modern gpu. Instead we have to use spu's to help it. The more spu's you have to use to help rsx, the less you have to spend on cool gameplay items like physics simulations.
"nyhow, I found many post by this guy (with the same residing area and screen name) asking some of the simplest questions on how to hook up his tivo to his TV. Or what’s the difference between optical audio cables and coax digital audio cable. To me even a guy with his background can figure that out by himself."
That's definitely not me. We've had tivo since 2000, and I have numerous components with either coax or optical digital out which I can hook up myself thanks The 'joker454' username is not one i chose. I picked 'joker' which was taken, and 'joker454' was suggested by the auto name generator. I suspect there are other 'joker454's out there.
"What I responded to didn't really sound like something a dev would say and contained a lot of fishy information, so I pushed it."
Ya, my first few posts were kinda ******-ish, I probably shouldn't have done that I leveled out my posts later.
"His concern over vertex attributes are very avoidable in various ways (many of which trade shader cycles for data, but since the shader instructions often don't cost you as much, it's often worth it)."
This only partly helps. It's true that in many cases is faster to just recalculate things in the vertex shader rather than passing precalculated data via vertex inputs. We already do this here and there, using PIX on a case by case basis on 360 to see where it makes sense, and likewise benchmarking PS3 to see how it likes it. But that only gets you so far. Bottom line, a next generation game uses lots of lookup maps for a variety of effects, which leads to lots of vertex inputs. Of course there are ways to simply this like packing your data, combining maps so some uv's can be tossed, etc. But you will still hit the vertex delays on rsx because some like 'position' and 'normal' are a must, so you don't have much room left to play with.
"Though I'm not sure why he's so hot on FP8... I would at least assume he meant FP10."
That's a typo on my part, 2/10/10/10 is the floating point format we need (FP10).
"There is always the possibility they are using fairly branchy pixel shaders or may have some heavy vertex work that may not port over well in a limited 2-4 month window"
Our shaders are very expensive. But then again, they look really good, and that's what nex gen is all about We can optimize them some more (we have already), but optimized shaders would still run faster on 360. Porting is not so much the problem in this case as is the rsx's unwillingless to deal with verticies. If you read the rsx docs, they are pretty much saying "please, please, please don't send verticies to rsx". The whole reason for using spu's is to do backface culling on all your verts first, that way you can send a smaller subset of verts to the rsx to get around its limited vertex processing. The rsx can backface cull them itself of course, and this does cut out pixel shader computation, but it still must run thru the vertex shader, which means it still must incur the one cycle penalty per vert input which brings rsx to its knees.
In the end my beef is with the PS3 gpu which I still feel is disappointing compared to the 360's. I have no beef with Sony or the PS3 itself. To make a nex gen game that looks of gears of war quality needs three things. Great shaders, more geometry, and lots of lookup maps. RSX has a hard time with all of those. It seems like an odd choice to me to go head to head with 360.
"we can see that many Xbox to PS ports this fall did have some issues, especially with getting framerates up. Next fall? It could be reversed.
This may very well be true! We'll have to wait and see. Spu's will help, I'll know more once I code for them in the new year.