*Game Development Issues*

Status
Not open for further replies.
@joker454: I'd really be interested in whether the version that could push more is on PS3 or 360 most of the time.

It's been 360 for joker for sure. But that might change a tiny bit since he's pushed his career towards becoming more of a PS3 specialist. Still, he's indicated that for most of the projects he's worked on they all have a strong 360 focus during development anyway and so far always multi-platform stuff. You can actually read a lot about that in this very thread. ;)

nAo by the way is someone on the complete other end, working PS3 exclusive game first and then moving towards multi-platform more recently.
 
Sorry I couldn't keep up with all the posts in here I joined just recently ;)

I'm so curious about this PS3 hardware vs 360 hardware topic because I actually do CPU-intensive homebrew (mainly encryption related stuff and number crunching, nothing graphical, just CLI) on the PS3. Now I know about the limitations of the PS3 but it's always nice to hear if people can actually max it out and perhaps reach beyond what the 360 can do.

Maybe this sounds weird but I like the PS3 as a piece of hardware a lot. It's a very complete system, although flawed in regards to main & video memory / management.
 
Maybe this sounds weird but I like the PS3 as a piece of hardware a lot. It's a very complete system, although flawed in regards to main & video memory / management.

Arg!!! It's not flawed!!!! It's just different. Nothing wrong with it. There's trade-offs with different systems...and depending on your project size, application type and budget one is better suit for it, but it's not a flawed design.
 
I think around 50MB simply for the OS reserved at all times is quite flawed :p

Also, a bump in video memory wouldn't have hurt. 384MB even. I mean, these days, 256MB VRAM is nothing, and it wasn't much when the PS3 was released at all.

Sure there's nothing "wrong" with it but from the games I have seen - sans Uncharted - PS3 textures weren't up to scratch. Especially on multi platform games.
 
I believe either memory pool is usable with respect to RSX, and doesn't MS reserve 32MB for the 360 OS? BTW I'd be surprised if Sony brought it down to 50MB since last I heard it was around 70MB across the two memory pools.
 
It is with some tweaks and tricks around it but from what I know it's not as easy as it sounds, since you have to communicate through the Cell just in order to access that pool. This isn't something multi platform developers tend to spend time on, if you catch my drift.

It's great for dedicated PS3 devs to have the option of course.

The 360 OS did use 32MB but I believe it has been slimmed down over time with updates. It was designed to have a very small memory footprint and leave resources for games.

Sony has as well brought the usage down to 48MB IIRC.
 
It's taken me a while to catch up to where this thread's at - lot's of discussion lately!

@Chachi: I think one of the things you are getting hung up on relating to the Cell-centric discussion that took place is the idea that if what you want is for the 360 to be fully tapped, a code-base designed with the lessons of the Cell in mind actually gets you closer to that by default, rather than farther. The discussion with nAo as to which system he 'favors' is tangential to this, as it presupposes that he was supporting that position because he prefers PS3.

Him and all other developers here should be viewed to speak their minds in terms of what they feel is accurately the case beyond their personal hardware preferences. A data-centric approach is more or less demanded to make efficient use of Cell, but certainly 360 (and the PC) benefit as well from this, which is why folk are switching to the PS3 as lead; code ported from Cell to XeCPU is likely to enjoy performance advantages out of the box whereas code developed 'loosely' for 360 ported in the other direction might suffer crippling performance deficits.

Now, that's Cell vs XeCPU; obviously the PS3 suffers from a RAM deficiency relative to the 360 that puts a different constraint into play, and their graphical subsystems vary in real terms as well in terms of how they are approached - no doubt some of the issues that Joker is forced to contend with - but the above was specific to the Cell and XeCPU in isolation.

I'm so curious about this PS3 hardware vs 360 hardware topic because I actually do CPU-intensive homebrew (mainly encryption related stuff and number crunching, nothing graphical, just CLI) on the PS3.

Obviously for your purposes, the CPU is your primary scope of concern, and it goes without saying that the relative 'power' of the Cell is far beyond that of the XeCPU. Not only that, but your ability to reach closer to said theoretical peaks is much improved as well.

But homebrew and encryption apps is one thing, and game development another.

Remember that a lot of what we 'see' on screen - and the main criteria of judgment - stems largely from facets beyond the processors. The GPUs and RAM constraints have the majority to do with the fidelity on screen, and beyond that in terms of core game code, where the Cell has theoretical power, its tools and application have been a hassle of sorts for many development teams for the code they are looking to implement.

For many multi-platform titles (the specific scope of this thread) not only has approaching the Cell proven vexing, often the areas of its strengths aren't areas that are looking to be exploited to begin with, as it would take the game in too narrow a direction vs, again, the larger multiplatform goal that has strong performance on each as a driving criteria and a certain end result in mind. As the general understanding of the architecture proliferates though, I'd expect folk to increasingly succeed in porting aspects of their 'general' game code to the SPEs, which is really what the entire architecture is about - putting things on the SPEs.

Also, a bump in video memory wouldn't have hurt. 384MB even. I mean, these days, 256MB VRAM is nothing, and it wasn't much when the PS3 was released at all.

You're thinking in terms of the 360's RAM and not the PS3's in isolation. Remember that before MS made the fateful decision to include 512MB unified, they were actually going to have 256MB unified; in relation to that, PS3 would have looked like a RAM monster. But with MS' decision, it simply didn't make sense for Sony to try and chase things higher. (sub)Parity would have to do. 384MB of RAM would have been a problem anyway given the 128-bit bus and the way the VDRAM memory modules are arranged intra-packaging. It's just not realistic.



Beyond all this, I want to comment on the 'future architectures' vein that came up a number of posts ago in terms of LS vs cache-centric. I think it'll be the later also myself, but at the same time I do think that in terms of consoles, Cell will remain the architecture for Sony. There have been some arguments to the contrary, and I know Marco was doubting this a while ago and Pana's got his own theories... but I just don't see them moving off of it; the benefits outweigh the detriments come PS4 IMO, especially if the current gen ends with dev teams generally comfortable with Cell.
 
Last edited by a moderator:
It is with some tweaks and tricks around it but from what I know it's not as easy as it sounds, since you have to communicate through the Cell just in order to access that pool. This isn't something multi platform developers tend to spend time on, if you catch my drift.
I thought RSX can see the memory just fine but there's a latency penalty since it's further removed. CELL reading from vram is the no-no.
 
You mean it can not be done or that it is very inefficient?

I think it's generally known that is very inefficient. GDDR3 memory in the PS3 doesn't lend itself to sharing nearly as well as XDR memory. I don't know if it still holds, but as I understand it the best you can do is let the RSX read vertex and some additional texture data (both can be preprocessed by for instance one or more SPEs) from XDR memory, and the RSX can also put its framebuffer in XDR which can be post-processed by SPEs again. So you want to avoid the GDDR3 memory being accessed from both the Cell and the RSX at the same time, and keep RSX 'boss' over the GDDR3 memory.

This setup, which leads to some very efficient bandwidth, is actually quite good. I think by far the biggest disadvantage versus the 360's setup is that the latter's memory is just easier to work with, just as the 3 homogenous PPU cores are easier to work with rather than the PPU vs SPU setup in the PS3. But if you want to get the very best performance and you're going to design for the PS3 from the ground up, I still suspect the PS3's setup even in terms of memory is the more powerful one, because in these days, you're going to get the best results if you optimise for streaming and bandwidth.
 
It's been 360 for joker for sure. But that might change a tiny bit since he's pushed his career towards becoming more of a PS3 specialist. Still, he's indicated that for most of the projects he's worked on they all have a strong 360 focus during development anyway and so far always multi-platform stuff.

This is a process I can witness first hand with our team here. We started on the 360 and only started to work on the PS3 relatively late in the project. Initially the platform would get a lot of hate from the 360 guys. Things that are just plug-and-play on the 360 would require a week of programmer-time on the PS3. Hell, getting the graphics system to a point where we could actually render the game took months instead of weeks (ok, one programmer vs. three, but still). The further we get along, the more the perception changes. Yes, there are GPU features on Xenos that are missing on RSX. Some of them may be show-stoppers for other people, but we can usually find a better implementation that either does not need them or does funky things with SPUs to reduce the load on RSX. It usually takes more programmer time, but it's usually just plain faster at the end.

So these days, it a lot more even. There are things that are easier/better in each system. There are moments when I'd like to have some 360 features, there are moments when they'd like to have some PS3 features. It balances out in the end, I guess.
 
You mean it can not be done or that it is very inefficient?
x360_vs_ps3-06.jpg
 

Does that mean it would be quicker for the RSX to write out to HDD and have the Cell read it from there? Or is this really a case where if you actually needed to read in any RSX output from the Cell you'd have the RSX output it to XDR memory?
 
Does that mean it would be quicker for the RSX to write out to HDD and have the Cell read it from there?
Where did you get this insane idea?!
Or is this really a case where if you actually needed to read in any RSX output from the Cell you'd have the RSX output it to XDR memory?
Just have a look at that table, this makes more sense.
Obviously not having the ability of directly reading back vram from Cell at decent speed is retarded, on the other hand the workaround works perfectly fine, just makes things more complicated.
 
Obviously not having the ability of directly reading back vram from Cell at decent speed is retarded...
When this slide was first being discussed, it was pointed out by some parties that the need for the CPU to read VRAM was pretty much non-existent, so this wasn't an issue. Have things changed much in that regard?
 
Shifty Geezer said:
When this slide was first being discussed, it was pointed out by some parties that the need for the CPU to read VRAM was pretty much non-existent
I'd say there are always reasons for this, particularly when CPU is as fast as the one in PS3. It doesn't mean it's required, it just makes for unrealized potential.
Eg. - if PS2 CPU had this ability, it would make deferred shading very practical (I'm talking Shader Model 3/4 here).

Of course as nAo points out, PS3 workarounds are still quite practical, so don't take that analogy literally.
 
Last edited by a moderator:
When this slide was first being discussed, it was pointed out by some parties that the need for the CPU to read VRAM was pretty much non-existent, so this wasn't an issue. Have things changed much in that regard?

I'd guess SPU pixel shading (deferred) and post processing would be much simpler (and cheaper).
 
Status
Not open for further replies.
Back
Top