*Game Development Issues*

Status
Not open for further replies.
seems to me that the conclusion drawn would be that

Xbox 360 CPU and GPU can cope easier to develope for due to being more forgiving "better" dev platform support.
I don't think the term "better" should be used in this context at all..

PS3 Cell and RSX both need more streamlined/optmised code to work properly.
Also "work properly" proposes that the system couldn't run at all without optimised assets which is completely ludacris.. your sentence would have been better read as "RSX needs more streamlined/optmised code to match Xenos in relative performance.."
Oh & Cell doesn't require optimised assets anymore than Xenon (or any other CPU for that matter) does..

While I understood the CPU side of this, I never realised that the RSX also needed that extra attention although I would imagine that due to the Nvidia legacy this shoudn't be as difficult to work with as the Cell (at least initial development).
I think many people around here forget that for all the "common knowledge" surrounding PC GPUs:-

- Most PC developers have the benefit of driver & DirectX abstraction layers and thus don't require or even obtain intimate knowledge of most GPUs since they have to support all of them..

- Most console developers (especially those that originated from working predominantly with PS2/One hardware) have never had to work with nVidia GPUs before (not professionally at least) & thus what maybe considered "common knowledge" may not be so much so in the console space..
 
Sure. That's why I said 'could be pushed harder too'.

:)

Yap ! Missed your first post.

At the end of the day, I think the differences will be minimal. Exclusive titles will be fantastic for both platforms.

That's why I am more interested in exclusive games generally. Just curious to see how developers can push all the aspects (e.g., visual, sound, physics, AI, etc).

Even MP titles (CoD4 anyone?) are great right now...

I think this is just the first step. The final evolved form should be both versions are optimized differently so that owners of both platforms will buy 2 copies.
 
Yap ! Missed your first post.

No prob.

That's why I am more interested in exclusive games generally. Just curious to see how developers can push all the aspects (e.g., visual, sound, physics, AI, etc).

+1

I think this is just the first step. The final evolved form should be both versions are optimized differently so that owners of both platforms will buy 2 copies.

:LOL:
 
I don't think the term "better" should be used in this context at all..


Also "work properly" proposes that the system couldn't run at all without optimised assets which is completely ludacris.. your sentence would have been better read as "RSX needs more streamlined/optmised code to match Xenos in relative performance.."
Oh & Cell doesn't require optimised assets anymore than Xenon (or any other CPU for that matter) does..


I think many people around here forget that for all the "common knowledge" surrounding PC GPUs:-

- Most PC developers have the benefit of driver & DirectX abstraction layers and thus don't require or even obtain intimate knowledge of most GPUs since they have to support all of them..

- Most console developers (especially those that originated from working predominantly with PS2/One hardware) have never had to work with nVidia GPUs before (not professionally at least) & thus what maybe considered "common knowledge" may not be so much so in the console space..

I am pro PS3 don't get me wrong I am not trying to knock the PS3 in any sense just trying to see things from a multi dev side of things.

As for your last statment surely there must be a huge amount of support for the Nvidia GPU's that console devs could get their hands on. What I mean is there must be many manuals, forums and other forms of support for the Nvidia chipsets. Far more than Cell which is a new (well relativly new now :p technology).

To my mind anything that can be done on the Xbox360 can be done on the PS3. While I had doubts about AI until the SPURS came along (with I now believe SPE's being able to pull off AI faster/more efficently than the PPE).

The question is how hard (i.e. resource wise) would that be for any particular project). How much work around would be needed to get to the same state of play as the Xbox 360.

For me though I don't think that the reverse is true. That the Xbox360 can do everything that the PS3 can due to the raw power and versatility of the Cell processor.

Taking Killzone 2 for example there is a lot of GPU, or graphic jobs being done on the Cell processor, and seing from the graph releaised there is plenty of spare "room" for more to be done.

In effect Killzone 2 will be the first generation ps3 shooter engine for the PS3. I would imagine that the resources needed for a Killzone 3 for example would be much lower (don't need to pay so much for middle wear solutions, allready done, don't need to create the engine from scratch etc).

The question for me would then be imagination and talent. I.E. Given architectural restraints (I suppose the biggest would be memory), how could you get close to optimal utilisation of the Cell. What could you add (i.e. better graphics, better physics, better animation etc) that would firstly add to the next game while utilising the full power of the Cell.

I don't know if I am quite making myself clear. It's just given the many percentages of optimisiation on the most technicaly advanced games on the PS3 (like uncharted, H Sword, R&C). It must be very difficult at the concept stage because you don't exactly know the limitit of the Cell to work for your game because it hasn't been reached yet.

To my mind I would imagine a game like the getaway would come the closest to reaching this type of hardware limitation. Due to the fact that they can have X amount of people, with x quality of AI, with x quality of graphics, with x amount of animation with x amount of responsivness to the player character etc.

Sorry I went off topic quite a bit just been thinking about these things allot lately :p.
 
RSX's vertex abilities at full tilt can't keep pace with Xenos, even if split. Maybe even if quartered ;) It's been argued here that pixel side RSX should be better but we haven't seen that, at least not in our shop. I suppose if we really hollowed out our pixel shaders then the split bandwidth on PS3 could prove to be an edge. But thus far, our pixel shaders still have enough instructions in them to give Xenos the edge. Mated with it's automatic load balancing, it's tough for RSX to keep pace.

thanks for your insight and sharing your experiences joker of working on both consoles... greatly appreciated to get the story form the horse's mouth. sounds like (as many have said) Xenos is to RSX as Cell is to Xenon.

this scenario makes perfect sense as to why the 360 has been able to be ahead (in most MP games to date) and why it seems logical that most games will be VERY similar going forward.

sounds like this gen is much closer in terms of power compared to last.
 
sounds like this gen is much closer in terms of "rendering" (?) power compared to last.

... since we talk mainly about graphics in this thread ?


Also, nAo has started to work on a cross platform title too. So he should have some up-to-date info about 360.
 
I work on a multiplatform title, when I joined the company Xenos was outperforming RSX on vertex shading by a vast margin, especially in simple color passes (zprepass, shadow maps).
Now (in those rendering passes) RSX is slightly faster than Xenos on average, with no SPU intervention, and I know it could be even faster (better performance were simulated through experiments on recorded push buffers) using memory in a different way.
I assume RSX is slightly faster due to better early Z granularity and no need for copying from EDRAM to GDDR3. Theoretically there's no other reason for this.

However, if you put your l337 coder skillz to work for Xenos, you could probably give it a huge boost for shadow maps too. Use the AA hardware to write shadow maps at 64 effective pixels per clock, and avoid resolving when copying to main mem. You get jittered samples (though maybe you can program an ordered grid?), but it shouldn't matter with adequate sampling, and some would even consider this a good thing.
 
So just to put things into perspective, this is what Activision said about the PS3

According to Activision's chairman and CEO Robert Kotick, the PlayStation 3 is the most advanced gaming platform out there. Kotick made the remarks at the recent Web 2.0 Summit, and while it seems like good news, Kotick wasn't entirely happy with what's going on with Sony's console, and addressed the lack of good games for the platform thusly:

"Few game developers were building products that take full advantage of the console's powerful, multicore processor," but Kotick suggest that in "the next four or five years" this would change.

The advantages of the PS3 are not recognized for now but later on.
 
The same thing can be said for other platforms.

Anyway, in 5 years time I'll be playing my 512 bit console! ;)
 
As for your last statment surely there must be a huge amount of support for the Nvidia GPU's that console devs could get their hands on. What I mean is there must be many manuals, forums and other forms of support for the Nvidia chipsets. Far more than Cell which is a new (well relativly new now :p technology).

Nope, quite the opposite. NVIDIA are extremely secretive, and all you get on top of the DirectX/OpenGL documentation are some generic optimization tips (batchbatchbatch!) which apply equally to ATI, sorry, AMD parts, and the NVPerfHUD suite, which is not exactly "documentation". Rumor has it that even Sony didn't get full register-level documentation from NVIDIA, just a thin API wrapper.

On the other hand, Cell is heavily pushed by IBM and there's a lot of stuff about it.
 
The way devs speak about Xenos make it sounds like RSX is a poor GPU in relation to it. How can this be? The RSX is a close cousin of 7800GTX, which was quite a performer in its days, and if ATI have such a winning GPU design, why are they still sniffing Nvidia's dust today?
First of all, G70 was designed for PC workloads in 2004 (it's an NV40 derivative). They had FAR lower poly counts than today's console games because PC games need to scale down to low end products. It's much easier to scale down pixel load than vertex load. The only high vertex load I recall is 3DMark, and that's one of the reasons ATI did so well there.

Also, G80 is a monsterous leap over the 7800GTX, but R600 isn't a huge leap over Xenos or R580. Look here, for example, where the 8800GT is compared to 7950GT (which is clocked 10% faster than RSX and has up to 2.1x the BW) in modern games:
http://www.anandtech.com/video/showdoc.aspx?i=3140&p=11
 
I assume RSX is slightly faster due to better early Z granularity and no need for copying from EDRAM to GDDR3. Theoretically there's no other reason for this.
I didn't include EDRAM resolve time in my tests, and as we all know theory and practice are different things, expecially with such complicated architectures.
BTW..the work I've done to optmize RSX workload improved performance on Xenos as well.

Use the AA hardware to write shadow maps at 64 effective pixels per clock, and avoid resolving when copying to main mem. You get jittered samples (though maybe you can program an ordered grid?), but it shouldn't matter with adequate sampling, and some would even consider this a good thing.
Jittered samples are not a problem, most of the ppl don't notice the difference anyway, the only issue I have with using MSAA is related to alpha tested meshes silhouettes that suddenly look lower res.
 
Are you familiar with Intrinsics & have they provided any peformance gains for you in any areas? (Also does the 360 have anything like this?)

I'm curious because especially in the area of something like using SPUs for physics or graphics-related tasks, I'd assume that there could be some benefits to their use in optimisation to some degree..?

C with Intrinsics is the way to go on SPUs and on Xbox360 VMX. Honestly as much as I'd like to have a decent class wrapper with overloaded operators, the code generated by the compiler for wrapper classes is still sub-optimal.
With 128 registers all the spills to memory that happen are pretty much caused by the ABI. I'm still hoping we're going to have a decent higher level solutions for all that stuff.

A bit off topic, but after talking about the whole debug code doesn't fit on SPU, it occurred to me that maybe they should have made SPU code be streamable from main memory, similar to how GPUs stream shaders on demand. Of course that would make branches potentially VERY expensive. But on the other hand if there was a SPU hyper thread that you could switch to and do some work there while waiting on code DMA that could've been a fantastic solution. No need to waste valuable LS for read-only code segments.
 
This statement states pretty clearly that RSX has the edge on average.. (I know joker454 mentioned something about shader code so i'd be interested in finding out the differences between the size/complexities of the shaders both nAo & joker's teams are running..)

I'm sorry but I have to backup Joker here. In My Experience, RSX does not have the edge on average.

The best example that I can give you is from what I've just finished working on, which is procedural grass generation and rendering. I did develop the first version on X360 and it was heavily optimized. We push hundred thousand blades, no sweat.
When I got to add the grass technology to the PS3 build the results were horrendous. The same VS/PS run at 1/3 the speed. After spending a month moving the procedural generation part to SPUs (btw SPUs are damn fast at that), reducing the RSX's vertex load to bare minimum - the grass runs at 1/2 speed, presumably limited by PS/fillrate/blending. So I'm still way off from my X360 target and I've consumed way more memory on the PS3 to hold temporary vertex buffers, and on top of that some features are missing, since they would require me sampling textures from the SPU which I'd rather not do.
 
"worked" Just a mispell
You must have missed out on the fact that nAo is now in San Francisco according to his profile... hence, he's at a new employer, so he did mean "working."

I assume RSX is slightly faster due to better early Z granularity and no need for copying from EDRAM to GDDR3. Theoretically there's no other reason for this.
While I have yet to see this for other passes as I haven't followed closely enough, I've also seen things like shadowmaps, and in particular pre-filtered shadowmaps (e.g. VSMs) to run faster on PS3. Some of my little experiments in gradient magnitude approaches (which I'd so like to continue looking into if I had the time) and so on proved to really hit me hard on the 360, but not so on the PS3 -- in fact, debug builds on PS3 (i.e. lots of GPU idling) performed about the same as release on Xenon... and looking at the PIX output, that proved to be a case where I was pretty texel-fillrate limited. RSX having the higher texel fillrate was a nice addition.

First of all, G70 was designed for PC workloads in 2004 (it's an NV40 derivative). They had FAR lower poly counts than today's console games because PC games need to scale down to low end products. It's much easier to scale down pixel load than vertex load. The only high vertex load I recall is 3DMark, and that's one of the reasons ATI did so well there.
I would imagine that there are probably many cases where someone wouldn't see the same benefits on simple passes like Z-Prepass that nAo mentioned simply because they're vertex-limited. I wouldn't be surprised if that was occasionally true for us as well (at least on one game, anyway). Shadow map passes might be a little better per pass since the depth range for a single shadow map (or split thereof) is relatively small compared to the main view draw distance.

Also, G80 is a monsterous leap over the 7800GTX, but R600 isn't a huge leap over Xenos or R580. Look here, for example, where the 8800GT is compared to 7950GT (which is clocked 10% faster than RSX and has up to 2.1x the BW) in modern games:
http://www.anandtech.com/video/showdoc.aspx?i=3140&p=11
Well, the idea of a downscaled down-spec'ed G80 derivative as RSX was brought up before, and we've all heard stories about the idea from various people. Still, even with the assumption that it could have worked on a technical level, there's no way it could have happened on a business level.
 
Last edited by a moderator:
Well, the idea of a downscaled down-spec'ed G80 derivative as RSX was brought up before, and we've all heard stories about the idea from various people. Still, even with the assumption that it could have worked on a technical level, there's no way it could have happened on a business level.
I'm not sure why that's the case. The only reason it couldn't have worked on a business level is that Sony had ridiculous expectations about when they wanted to release the console.

Had they actually been realistic and given NVIDIA a more conservative timeframe to work with, I'm sure they could have gotten something quite different and more exciting than RSX. But such a debate is futile now and little more than wasted time, so I won't go any further.
 
I'm not sure why that's the case. The only reason it couldn't have worked on a business level is that Sony had ridiculous expectations about when they wanted to release the console.
I don't know about "ridiculous" anymore considering the importance of the launch windows for consoles, but then they didn't meet the original more "ridiculous" expectation of releasing around the same time as the 360 anyway.

Had they actually been realistic and given NVIDIA a more conservative timeframe to work with, I'm sure they could have gotten something quite different and more exciting than RSX. But such a debate is futile now and little more than wasted time, so I won't go any further.
I figure even if there was a reasonable timeline, nVidia wouldn't be willing to give Sony the G8x in the first place. Unless nVidia was somehow already at G90 tapeout at the time, I couldn't see them willing to give up a top-of-the-line IP when their own product based on that IP was still a long ways away from release.

As you say, though, we can only be bitter about what RSX did become rather than what it didn't.
 
I figure even if there was a reasonable timeline, nVidia wouldn't be willing to give Sony the G8x in the first place. Unless nVidia was somehow already at G90 tapeout at the time, I couldn't see them willing to give up a top-of-the-line IP when their own product based on that IP was still a long ways away from release.

AFAIK nvidia doesn't give their IP to console manufacturers for the product they make, they just sell licences to them to produce\sell them.

This is the reason for why X360 backwards compability sucks so much (something about MS having to pay Nvidia for emulation because they didn't own the IP)
 
Xenos wins when artists forget to check in some LODs and we render distant meshes with some insane triangle count, lots geometry that hardly generates any pixel and RSX gets vertex shader limited.

See that's the key, "RSX gets vertex shader limited". The assumption is always that verticies are suddenly just not needed anymore. That a high vertex count means that an artist screwed up someplace, or that they are wasted someplace. Coincidently, I only hear this from PS3 coders :)

So, I take a look around at just about every game out there and i see edges where there shouldn't be. On weapons, on organic matter, on a human calf, etc, etc, etc. This to me implies a bottleneck. The people making the games either chose to live with the edges, or they had no choice but to live with the edges. I'll wager it's the latter, that just about all games hit a vertex limit at some point in their life and they have to be reeled in, with a visual penalty as the result. This vertex limit gets hit even sooner at 60fps. I don't know when it happened that all of a sudden it was determined that 2 million or so verticies is all you ever need and everything else is a waste. I just don't agree with that.

It will be very easy to prove me wrong though! We'll wait and see what the next generation brings. If you guys are right and high vertex counts are never needed, then I'd expect PS4 and Xbox 720 to still have around 2-4 million verts or so peak per scene. Since after all its basically been determined here that that is all thats needed, and any more is "artist error" or 'poor lod'.

I'd bet though that vertex count will jump in the next generation. Not because artists are dumb, or because they are a waste. The count will jump because they are needed. The only alternative is if someone offers a realtime vertex distribution system suitable for games.

FYI, as noted by others, RSX was born mostly as a PC part and an old one at that. It represents the end of the line for a generation of hardware, and it was never designed with a high vertex load in mind. But don't take my word for it, have a chat with NVidia about it sometime. I'm sure you guys know people that work there, they can fill you in.

I am curious about one thing though. I know you're an ace at PS3 hardware, but did you guys have a 360 counterpart to you, an ace Xenos coder to optimize its rendering as well? Or were you comparing your optimized PS3 pipeline to whatever the 360 had at the time and/or whatever it inherited from your PS3 related changes?
 
Status
Not open for further replies.
Back
Top