DeanoC blog PS3 memory management

DeanoC's Blog said:
Then we need space for all these lovely HDR AA framebuffers and render targets.

Does the 360 not require main memory for this (because of EDRAM) or is it the same for both consoles?
 
pipo said:
One word: unified.

Edit - you can't compare them like that...
I was talking about the constraint of the amount of Memory, unless Im missing out something this is what its all about in this thread ;)

Oh and PS3 sports unified Memory too, though you probably want to handle both chunks differenty because of their speed differs.
 
expletive said:
Does the 360 not require main memory for this (because of EDRAM) or is it the same for both consoles?

Render targets are operated upon on eDram but they have to go back out to main memory ultimately, so in that case it's pretty much the same.

For framebuffers, the final frame has to be stored out into main memory on 360, but the intermediate stuff is in eDram (the final frame is smaller than the intermediate stuff, well if you're using AA at least).
 
Titanio said:
Render targets are operated upon on eDram but they have to go back out to main memory ultimately, so in that case it's pretty much the same.

For framebuffers, the final frame has to be stored out into main memory on 360, but the intermediate stuff is in eDram (the final frame is smaller than the intermediate stuff, well if you're using AA or FP16 framebuffers at least).

Thanks, so do you think theres any net difference on footprint in regards to this?
 
expletive said:
Thanks, so do you think theres any net difference on footprint in regards to this?
With framebuffers exceeding the EDRam size - no. They need to placed in Mainram also with the Tiling effectively beeing a cache.
 
Npl said:
Well, the 360 the same amount of Memory and CPU not unlike the PPE. If one Camp has trouble with Memory then the other will too.

i have no idea how that is related to the question I asked
 
I think he was responding to blakjedi (who thought the 10 MB scratchpad could make a difference)... :)
 
fearsomepirate said:
I don't think it's a coincidence that the Xbox was the only console this gen to use all its GPU's silicon for shaders, and that its successor isn't taking the same approach.
And which system is regarded as having the best visuals? :p

Regards eDRAM, I dunno if that can be counted as more space any more than chip caches/LS can. It's working space. If the whole render buffer fits, I guess it saves you 10 Mb of backbuffer space. (Edit : removed misinformation following ERP's correction :p). Either way, 10 MBs isn't much to get excited about (less than two percent), and we dunno how much difference in OS resources are gobbled up either. Could be XB360 gains 30 Mb over PS3 in not having some OS features for example.
 
Last edited by a moderator:
Npl said:
With framebuffers exceeding the EDRam size - no. They need to placed in Mainram also with the Tiling effectively beeing a cache.

Err no you still don't have a backbuffer in main ram even with tiling. Just a post AA front buffer.
 
ERP said:
Err no you still don't have a backbuffer in main ram even with tiling. Just a post AA front buffer.
Actually that's true and I ought to corrct my post. Output from tiling is post transformation. It builds the front buffer in chunks, without needing to store backbuffer, though I imagine there'll be some some data stored such as pre-pass Z buffer, no?
 
ERP said:
Err no you still don't have a backbuffer in main ram even with tiling. Just a post AA front buffer.

What are your thoughts on the memory footprint as it relates to Dean's comments on "all these lovely HDR AA framebuffers and render targets." ? Does the EDRAM change it between PS3 and 360 or will they still be similar?
 
Npl said:
Well, the 360 the same amount of Memory and CPU not unlike the PPE. If one Camp has trouble with Memory then the other will too.


What Deano is refering to is a perenial game dev problem, rather than not enough memory...You could put 5GB's in there and devs would still run out.

The problem is just getting much harder to manage with team sizes getting larger, back in the "good old days" senior people who understood what things cost outnumbered the number of "young guys" who didn't. Wiith larger team sizes things tend to skew the other way.

On a PS2 for example because of template expansion calling push_back on an STL vector generates about 1K of code inline. On a PS2 this is a very bad thing, but it looks like a simple statement in C++, unless you've actually looked at the assembly language generated you would have no idea.

A lot of what's taught as good programming practices in the real world are extremly poor practice on systems like PS2/PS3/X360.
 
Just a "me too" post

Of course its a harsh reality for some, given how many people who trained in a modern university are taught. To be clear I mean, taught badly. Quite a few university in the UK don’t even teach C++ let along C and ASM these days. What good is it teaching people in languages like Java and C# with garbage collectors when in some cases we don’t even have conventional heaps!

He is right on a money here , so to speak. Most of the kids starting CompSci now dont get hardly any exposure with memory management. You can get Masters degree (with very good grades!) in CompSci and not understand even a simple indirect addressing at asm level.
 
ERP said:
A lot of what's taught as good programming practices in the real world are extremly poor practice on systems like PS2/PS3/X360.
Almost all CompSci is geared towards 'general' computing (mainframe, network, PC) as that's where 99% of the jobs are. Does anywhere teach for console development? I imagine most seasoned devs cut their teeth on the home-brew sector where coding could be on the metal and all aspects considered. Without that same open low-level hacking on limited hardware being generally available, those who learn game development do so through DirectX and OpenGL from PCs. Without anywhere to learn, how can this ever be fixed?

MS, Sony and Nintendo should open their own academies for teaching low-level console programming!
 
ERP said:
Err no you still don't have a backbuffer in main ram even with tiling. Just a post AA front buffer.
Ok, I just read up on the tiling on Xenos. Seems instead you`d need to spend some Memory for keeping the Objects alive until the GPU went through them 3-5 times.

@dukmahsik: Thought you were expecting an answer if the situation is different for the X360
 
Shifty Geezer said:
And which system is regarded as having the best visuals? :p

Regards eDRAM, I dunno if that can be counted as more space any more than chip caches/LS can. It's working space. If the whole render buffer fits, I guess it saves you 10 Mb of backbuffer space. (Edit : removed misinformation following ERP's correction :p). Either way, 10 MBs isn't much to get excited about (less than two percent), and we dunno how much difference in OS resources are gobbled up either. Could be XB360 gains 30 Mb over PS3 in not having some OS features for example.


Shifty, I know this is one of the most ridiculous things you'll ever have been asked on a forum, but there are certain individuals back on PSINext who are quoting your 64MB estimate for the PS3 OS and saying you 'let it slip.' Anyway the source of this confusion seems to be a thread on GAF that quotes you as a dev who broke his NDA. The words of myself and others as to your non-developing livlihood seems not to be good enough to squelch the embers of these rumors. SO, for the good of rumor-squashing everywhere can I get you to post here that you're not a dev under NDA? ;)

I know, I know...

BUT, hey it speaks to the quality of your posts that you were mistaken as such, am I right? :)
 
Last edited by a moderator:
ERP said:
Err no you still don't have a backbuffer in main ram even with tiling. Just a post AA front buffer.

You cannot overwrite the front buffer while it is being displayed. If you use tile rendering, you need a backbuffer in main memory.
 
eSa said:
He is right on a money here , so to speak. Most of the kids starting CompSci now dont get hardly any exposure with memory management. You can get Masters degree (with very good grades!) in CompSci and not understand even a simple indirect addressing at asm level.

I think the education system is content on just teaching on how to get a program up and running rather than managing the program well. The problem is (and this is from my experience in Univeristy here in Ottawa Canada, I odn't know what it's like elsewhere) is that there is little time to teach everything so memory managment is just glossed over. Despite it, IMHO, being the most important aspect of programming. Your program will suck if there's memory leaks everywhere no matter how well it does its job.

What they should have done here, at Carleton University, is dedicate an entire course on memory managment and theory. After first year there were still students who didn't know the difference between "pass by reference" and "pass by copying". Bah! Now I know why I switched programs.

People didn't even know what a heap or stack was...
 
xbdestroya said:
Shifty, I know this is one of the most ridiculous things you'll ever have been asked on a forum, but there are certain individuals back on PSINext who are quoting your 64MB estimate for the PS3 OS and saying you 'let it slip.' Anyway the source of this confusion seems to be a thread on GAF that quotes you as a dev who broke his NDA. What's even more ridiculous is that the words of myself and others as to your non-developing livlihood seems not to be good enough to stop the GAF momentum. SO, for the good of rumor-squashing everywhere can I get you to post here that you're not a dev under NDA? ;)

I know, I know...

BUT, hey it speaks to the quality of your posts that you were mistaken as such, am I right? :)

OMG, I actually almost posted a joke when this thread popped up about how long before internet forums twisted around Deano comments, I never though I would have had to throw Shifty's name in the ring as well. lol

So should we expect an exclusive interview about the firing of Shifty tomorrow :p
 
Back
Top