MBDF said:I have a simple question... What is the amount of bandwidth needed for a 720p 4msaa image, and how do you go about calculating that..... for instance, If you've got the PlayStation3 with it's 22GB bandwidth to GDDR, how much bandwidth is required per second for 720p 4msaa output?
ERP said:(1280*720 * (bytes/color value+Bytes/Z Value) * AA Level) * Number of times the scren is overdrawn * FPS
You need to double the bytes/color or bytes/Z if you have either blending enabled or your doing a Zwrite respectively.
MBDF said:Thanks for the info; so an example would be: (1280x720x(8[64-bit HDR]+4)x4)xODx60?
How many times is the screen usually overdrawn? what contributes to overdraw? And pardon my asking but how common is blending and/or z-write?
Thanks
ERP said:Depends on the application, and the target platform.
Some PS2 games have 20+ times transparent overdraw when you have dramatic explosions on screen. But OD is something PS2 does well, so software tends to explot this.
You will be able to slow a game down with lots of transparent OD on RSX, so devs will likely limit the amount of transparent OD.
MBDF said:So overdraw is like compositing transparent layers overtop? (such as smoke textures?) What would as an extreem example 20+ layers(in your example) multiply the original framebuffer bandwidth requirements by on PS2?
Titanio said:Overdraw is how many times you write to the same pixel, regardless of whether it's for opaque or transparent surfaces. You should really be minimising overdraw in those parts of the screen where an opaque surface is closest to the camera, though, hence why transparency is the main culprit. For a given pixel, if you have 20 transparent objects between the camera and an opaque surface in its "line of sight" so to speak, each time you render to that pixel requires sampling the current value, then blending it with the contribution from the current transparent object, and writing the value back out.
You could think of it like painting a picture, where you paint EVERYTHING back to front, even things that ultimately will be hidden. That's the "dumb" way, with lots of overdraw. Via lots of different mechanisms you can try to eliminate unnecessary overdraw (drawing objects that'll be hidden), but obviously with transparency, objects aren't hidden, just their appearance is changed, so to speak. So you have to still draw objects behind transparent surfaces, modifying their appearance as you go, basically.
Overdraw isn't connected to blending at all, though the reverse is not true -- blending does demand overdraw. You don't really "enable" overdraw -- it just happens as a result of how you render stuff. Alpha blending is accumulative in nature so you need to know what color is there in the buffer in order to blend and know what your new color is. Some blend operations are order-independent, some are not. But either way, when you blend, you need to overdraw those pixels that actually are involved with the blend however many times.so is having blending enabled the same as having overdraw enabled, or are they seperate so that bandwidth requirements go up for each one? does enabling blending help with overdraw?
Now, I felt tempted to offer suggestions on your formula but as it will not really be any more accurate than before I'll refrain from doing thatERP said:But that's not a useful figure....
Because you will rarely actually get peak bandwidth (closer to 50% of peak in most real world scenarios), and sometimes you will be limited by ALU calculations, so the bus is sitting idle. It doesn't count Texture fetch bandwidth and it doesn't count vertex bandwidth or Framebuffer compression, It doesn't count innefficiencies with small triangles etc etc etc.
In the end there is no way to tell.
Some bandwidth yes. In some hardware implementations the front buffer is copied and downfiltered in size when doing multisample antialiasing before being scanned out by the RAMDAC (or TMDS transmitter) and in a few others it isn't; it's just read out as is, and then downfiltered by the video hardware in realtime.MBDF said:So what about the front buffer? does it require bandwidth as well?
Well, x2 overdraw assumes there is one level of overdraw, and x2 blending assumes there's one level of blending for each level of overdraw; neither of which may be the actual case! It could be more, or less, depending on the actual situation.((720x1280x4aa)x(4bytes+4bytes))x(2x overdraw?)x2(blending)???
Titanio said:also, you multiply the Zbuffer requirements also by the MSAA depth? I figured that was just for your colour buffer?
MBDF said:Thanks for all the info everyone...
So is it the ROP's that "paint" the layers of the picture which is then sent over the bus to memory where it is combined and then sent to the ramdac?
MBDF said:The reason I ask all these questions is because I'm trying to figure out what the typical load will be like for the RSX to memory interface... I know nothing is an exact science and it varies wildly, I'm just looking for a ballpark figure.... I did not know that usually peak bandwidth is about 50% theoretical maximum though, interesting.
MBDF said:Awsome, thank you!
And I would be remiss if i didn't ask this but, would increasing the number of ROP's increase fill rate,
MBDF said:or on modern games does the shader fill rate not yet saturate the ROP's?
MBDF said:Wow, ok, thanks for the info.... interesting suff...
so it seems that 1080p with 2xmsaa is roughly equal to 720p with 4xmsaa under the same conditions , howerver, I suppose that cuts the pixel shader ops down to about half? Then there's the matter of HDR and msaa yet to be determined, so aside form NAO32 I suppose givin the info it would be best to go with 1080p with slight jaggies I can live with, or 720p, prettier graphics, and noticible jaggies.
ahh it would be very nice to have some more RSX info.
My friend who was checking out HDTVs has decided to avoid the current Pioneer as the summer update is releasing at 1080 native resolution (versus 1024 x 1024 I think of the current model). If most content is going to be 720p, not only is it a waste of money, but also should give inferior image quality to 720p native. And yet, if you stick with 720p, if you DO get the option of 1080. you're missing out.london-boy said:I guess those 2 or 3 people with 1080p TVs will generally tend to at least try to input a 1080p signal to the TV all the time, if they have a choice, cause that's the native resolution of the screen and bound to look better than a lower resolution that needs to be upscaled
Back?Shifty Geezer said:One of these days, like the 'good old days', humanity will get back to defining standards and sticking to them...