Page 1 of 2 1 ... LastLast
Results 1 to 25 of 29
  1. #1
    Supreme Veteran
    mynd's Avatar
    Join Date
    May 2006
    Location
    Down Under
    Age
    42
    Posts
    18,407
    Rep Power
    166
    Points
    208,710 (0 Banked)
    Items User name style
    Achievements IT'S OVER 9000!

    That ESRAM.......

    I thought it might by time the whole 32mb is not enough ram business into some actual hard numbers for you guys.

    The general rule of thumb for developing games (much like the 360) is that developers will put the "framebuffer" in the ESRAM, because its the most bandwidth heavy user.

    What is a framebuffer?

    Framebuffers generally consist of two types:

    Color Buffer -Generally what you will finally see on the screen, it's 32 bits per pixel (8 bits for Red, 8 for Green, 8 for Blue, 8 for Alpha/Transparency)

    Depth Buffer -32 bit value per pixel, storing a "z" or depth value. This is essential because when you write your model or mesh or whatever you are drawing on screen, you also calculate the "z" value for each pixel. If a z value is large than the current z value stored, then the current pixel is actually "behind" the current pixel and it does not get written (transparency can mess this all up, I'm not going to go into that here however).

    Either way, you need to know an image consists of a color and depth buffer. Or in laymen terms twice the actual size of you image.

    Size of you image

    A fairly simply formula is used:

    Bytes =Width x Height x (bits per pixel/8 ) -8 being the number of bits to a bytes.

    KB=Bytes/1024

    MB=KB/1024

    Here are the MB used per color buffer for different screen resolutions:

    720p 3.51mb
    792p 4.25mb
    900p 5.49mb
    1080p 7.91mb

    Now, remember for a color buffer+depth buffer you need to DOUBLE these numbers. So an actual 1080p image is 17.8 mb.

    But it gets worse!

    The Front Buffer

    While the GPU is writing and creating all these images, it also has to display the frame before. This is known as the "front buffer" or if you like, what you actually see on screen.

    So while you are viewing the frame on screen the GPU is drawing the next screen.

    Assuming the front buffer is also in the ESRAM, then you are up to triple the original size.

    To display a 1080p image you need 23mb.

    So whats the problem, thats well within 32mb right?

    Well thats assuming you don't mind jaggies, thats a raw, pixel crisp image that has no smoothing anti-aliasing processing going on.
    To get MSAA (multi-sample anti-aliasing) you need to (as the name suggest take multiple samples from the image and create another smoothed image.

    What this really means -you will need a "final" buffer to store you final image, and a number of the same "buffers" from which to sample (read data) from, these MUST include color and depth buffers.


    Depending on the number of samples, depends on the number of buffers required

    2xMSAA requires a final image, plus 2x depth and color buffers
    4xMSAA requires a final image, plus 4x depth and color buffers

    So in terms of actual number of "buffers" a 4xMSAA image (including the back buffer) requires.....

    8 buffers for the MSAA
    1 final image composition
    1 front buffer.

    That's 10 buffers!

    or:

    720p 35.1mb
    792p 42.5mb
    900p 54.9mb
    1080p 79.1mb

    for 2xMSAA you only need 6 buffers:

    720p 21.09 mb
    792p 25.52mb
    900p 32.95mb
    1080p 47.46mb

    Even at 900p you cant do 2xMSAA with the ESRAM.

    Room for improvement. Custom AA?

    Differing AA solutions do not require as many buffers, some require no more than the original depth and color.

    Other options

    Moving the back buffer off the ESRAM, so that it is stored in the main memory is another option to free up resources under that scenario 2xMSAA only needs 5 buffers:

    2xMSAA you only need 5 buffers:

    720p 17.57 mb
    792p 21.26 mb
    900p 27.4 mb
    1080p 39.55 mb

    This requires some very tight timings, as ultimately your going to be writing data to the buffer straight after moving it.
    Impossible under a normal GPU, possible with the the DMA move engines in the Xbox One.

    Are the move engine fast enough? They share the same bus as the GPU, while allowing the GPU to do other work the "road in and out" are shared.


    Ultimate answer?

    Its fairly obvious that games will need to employ something other than MSAA to hit anything at or above 900p on the Xbox One.

    Examples:

    Ryse 900p, custom AA solution (FXAA derived)
    Theif 900p, FXAA
    Plants vs Zombies 900p, custom AA
    Tomb Raider, 1080p FXAA
    Forza 1080p no AA.


    So in a nutshell, 1080p is doable on the Xbox one, as long as you don't mind your jaggies, or employ you own custom AA solution.
    2xMSAA is completely off the table for anything at 900p and above.


    Deferred vs forward rendering.

    This is a traditional forward rendering system, many games do employ what we call a light buffer for a final image composition, while not true differed rendering, this adds yet another buffer to the whole process (2 if you don't already have a "final image" buffer), Unreal Engine 3 does this for example.

    Deferred rendering in general, is very much a system that is free of traditional constraints, devs have the choice of using the 32 bits in the buffer to store all sorts of data, but suffice to say the more accurate they want the image quality the more buffers they require. High precision, HDR deferred rendering is well beyond the scope of anything 32mb would ever allow. There are shortcuts, however and its very much a custom system.


    I hope this puts to rest the whole 32mb is a "bottle neck" thing. Its not so much a bottle neck as much as it is restricting your choices when it comes to AA. Less of a speed brake, more of a restrictions on what your options are for AA.

    Frame rates
    More a discussion for another thread, but suffice to say, yes, frame rates can be affected by fill rate which directly ties into the resolution you rendering at.
    Last edited by mynd; 03-11-2014 at 11:27.

  2. #2
    Super Moderator
    Lethal's Avatar
    Join Date
    Nov 2007
    Location
    Kansas City
    PSN ID
    Lethal_NFS
    Age
    34
    Posts
    11,744
    Rep Power
    145
    Points
    84,908 (0 Banked)
    Items Michelle MarshAngelina JolieScarlett JohanssonOlivia WildeLucy Pinder
    Achievements IT'S OVER 9000!
    Looks like a damn math test! I choose box E

  3. Likes Two4DaMoney , GazzaGSi likes this post
  4. #3
    Legend
    F34R's Avatar
    Join Date
    Feb 2008
    Location
    South Carolina
    PSN ID
    F34RTEHR34PER
    Posts
    40,133
    Rep Power
    246
    Points
    149,395 (0 Banked)
    Items BullySteamGran Turismo 5LiverpoolAppleJoker (limited ICON)Naughty DogMaster ChiefAssassins Creed EzioGears of WarHeavy RainDiablo III
    Achievements IT'S OVER 9000!
    I became even dumber trying to figure that $#@! out. lol




  5. #4
    Administrator and PSU Technical Manager
    Christopher's Avatar
    Join Date
    Jun 2007
    Location
    Warner Robins, GA
    Age
    44
    Posts
    8,702
    Rep Power
    112
    Points
    74,130 (1,010 Banked)
    Items Death Note LAtlusVitaPS3 FatMetal Gear Solid 4Naughty Dog360 SlimGuerrilla GamesApple
    My avatar* is dedicated to server errors where ever they roam. May they never return.
    *censoring provided by Ghost

    Server Error Status Thread







  6. Likes MonkeyClaw, Admartian , Serinous , F34R likes this post
  7. #5
    Legend
    F34R's Avatar
    Join Date
    Feb 2008
    Location
    South Carolina
    PSN ID
    F34RTEHR34PER
    Posts
    40,133
    Rep Power
    246
    Points
    149,395 (0 Banked)
    Items BullySteamGran Turismo 5LiverpoolAppleJoker (limited ICON)Naughty DogMaster ChiefAssassins Creed EzioGears of WarHeavy RainDiablo III
    Achievements IT'S OVER 9000!
    Quote Originally Posted by Christopher View Post
    'ol school!!!!




  8. Likes Christopher likes this post
  9. #6
    Supreme Veteran
    mynd's Avatar
    Join Date
    May 2006
    Location
    Down Under
    Age
    42
    Posts
    18,407
    Rep Power
    166
    Points
    208,710 (0 Banked)
    Items User name style
    Achievements IT'S OVER 9000!
    Simple answer is 2xMSAA is off the table for anything other than 720p (or near relatives 792p).

  10. #7
    Valar Morghulis
    Serinous's Avatar
    Join Date
    Feb 2008
    PSN ID
    SerinousTSE
    Posts
    10,879
    Rep Power
    96
    Points
    21,767 (0 Banked)
    Items PS3 FatVitaPS3 Slim
    Achievements IT'S OVER 9000!
    Can someone draw this out for me? lol.




  11. #8
    Legend
    F34R's Avatar
    Join Date
    Feb 2008
    Location
    South Carolina
    PSN ID
    F34RTEHR34PER
    Posts
    40,133
    Rep Power
    246
    Points
    149,395 (0 Banked)
    Items BullySteamGran Turismo 5LiverpoolAppleJoker (limited ICON)Naughty DogMaster ChiefAssassins Creed EzioGears of WarHeavy RainDiablo III
    Achievements IT'S OVER 9000!
    Quote Originally Posted by Serinous View Post
    Can someone draw this out for me? lol.


    Hope that helps lol.




  12. #9
    Valar Morghulis
    Serinous's Avatar
    Join Date
    Feb 2008
    PSN ID
    SerinousTSE
    Posts
    10,879
    Rep Power
    96
    Points
    21,767 (0 Banked)
    Items PS3 FatVitaPS3 Slim
    Achievements IT'S OVER 9000!
    Quote Originally Posted by F34R View Post


    Hope that helps lol.
    Lol. Not really.




  13. #10
    Legend
    F34R's Avatar
    Join Date
    Feb 2008
    Location
    South Carolina
    PSN ID
    F34RTEHR34PER
    Posts
    40,133
    Rep Power
    246
    Points
    149,395 (0 Banked)
    Items BullySteamGran Turismo 5LiverpoolAppleJoker (limited ICON)Naughty DogMaster ChiefAssassins Creed EzioGears of WarHeavy RainDiablo III
    Achievements IT'S OVER 9000!
    I don't even know if that has anything to do with esram. I google'd it, and that was the first picture result lol.




  14. #11
    Extreme Poster
    mistercrow's Avatar
    Join Date
    Nov 2007
    Location
    Texas
    PSN ID
    mistercrow
    Posts
    25,535
    Rep Power
    167
    Points
    169,417 (0 Banked)
    Achievements IT'S OVER 9000!
    Quote Originally Posted by mynd View Post
    Simple answer is 2xMSAA is off the table for anything other than 720p (or near relatives 792p).
    Would've been easier for all of us if you had just said that. lol

  15. #12
    Dedicated Member
    John Willaford's Avatar
    Join Date
    Feb 2013
    Location
    Owings Mills, MD
    Age
    40
    Posts
    1,082
    Rep Power
    21
    Points
    424,879 (0 Banked)
    Quote Originally Posted by mynd View Post
    Simple answer is 2xMSAA is off the table for anything other than 720p (or near relatives 792p).
    So you DO agree that 32MB of EDRAM wasn't enough?
    Sleeping very soundly on a Saturday morning I was dreaming
    I was Al Capone
    There's a rumour going round, gotta clear outta town
    I'm smelling like a dry fish bone
    Here come the Law, gonna break down the door, gonna carry me
    away once more
    Never, never, never get it any more
    Gotta get away from this stone cold floor
    Crazy
    Stone cold crazy, you know

  16. #13
    Dedicated Member
    Sajuuk Khar's Avatar
    Join Date
    May 2005
    Age
    26
    Posts
    1,464
    Rep Power
    74
    Points
    9,896 (0 Banked)
    If this is all true, which from what we have seen and read about it probably all is....Why the hell didn't MS do these calculations to see that they wouldn't be able to hit 1080p with MSAA? Or did they just think AA would be handled as a post effect with FXAA or like you said custom setups? Just seems like a stupid oversight...

  17. #14
    Super Moderator
    Admartian's Avatar
    Join Date
    Nov 2006
    Location
    New Zealand
    PSN ID
    admartian
    Age
    27
    Posts
    13,267
    Rep Power
    131
    Points
    47,318 (0 Banked)
    Items ArsenalVitaUser name styleSteamPS3 Slim
    Achievements IT'S OVER 9000!
    Be Together - Not the same.



  18. #15
    Supreme Veteran
    mynd's Avatar
    Join Date
    May 2006
    Location
    Down Under
    Age
    42
    Posts
    18,407
    Rep Power
    166
    Points
    208,710 (0 Banked)
    Items User name style
    Achievements IT'S OVER 9000!
    Quote Originally Posted by John Willaford View Post
    So you DO agree that 32MB of EDRAM wasn't enough?
    For MSAA solutions, yes.

  19. #16
    Veteran
    Kauldron's Avatar
    Join Date
    Jan 2006
    Location
    United States
    Posts
    4,115
    Rep Power
    80
    Points
    6,641 (0 Banked)
    Quote Originally Posted by mynd View Post
    I hope this puts to rest the whole 32mb is a "bottle neck" thing. Its not so much a bottle neck as much as it is restricting your choices when it comes to AA. Less of a speed brake, more of a restrictions on what your options are for AA.
    ??...Bizarro world or something? You just literally described a bottleneck.....
    _______________________________________________

    _______________________________________________

  20. Likes Venger likes this post
  21. #17
    Supreme Veteran
    mynd's Avatar
    Join Date
    May 2006
    Location
    Down Under
    Age
    42
    Posts
    18,407
    Rep Power
    166
    Points
    208,710 (0 Banked)
    Items User name style
    Achievements IT'S OVER 9000!
    Quote Originally Posted by Kauldron View Post
    ??...Bizarro world or something? You just literally described a bottleneck.....
    Well LOL, kind of, its not stopping everything going through it, just AA solutions.
    More a filter than a bottleneck.
    A bottle neck tends to slow down everything regardless.

  22. #18
    Dedicated Member
    Sajuuk Khar's Avatar
    Join Date
    May 2005
    Age
    26
    Posts
    1,464
    Rep Power
    74
    Points
    9,896 (0 Banked)
    Quote Originally Posted by Kauldron View Post
    ??...Bizarro world or something? You just literally described a bottleneck.....
    Actually yeah they have a point there Mynd. One could argue semantics about the word use, but you come to the same conclusion. Because there isn't enough of something, this case not enough ESRAM, there is a bottle neck in the frame buffer size and AA options. The ESRAM bandwidth and everything else in the system is fine and.....balanced :P, the ESRAM is the bottleneck in the loop.

  23. #19
    Dedicated Member
    John Willaford's Avatar
    Join Date
    Feb 2013
    Location
    Owings Mills, MD
    Age
    40
    Posts
    1,082
    Rep Power
    21
    Points
    424,879 (0 Banked)
    Quote Originally Posted by mynd View Post
    Well LOL, kind of, its not stopping everything going through it, just AA solutions.
    More a filter than a bottleneck.
    A bottle neck tends to slow down everything regardless.
    So, you think that i'd be okay to just release every game with Jaggies then?
    That would solve the 1080p problem in this scenario.

    I , Personally, am still waiting for 4K Tetris!
    Sleeping very soundly on a Saturday morning I was dreaming
    I was Al Capone
    There's a rumour going round, gotta clear outta town
    I'm smelling like a dry fish bone
    Here come the Law, gonna break down the door, gonna carry me
    away once more
    Never, never, never get it any more
    Gotta get away from this stone cold floor
    Crazy
    Stone cold crazy, you know

  24. #20
    Elite Member
    D3seeker's Avatar
    Join Date
    Jan 2008
    Location
    Severn, Maryland
    PSN ID
    D3seeker
    Posts
    1,837
    Rep Power
    56
    Points
    1,994 (20,000 Banked)
    Items PS3 Slim
    Interesting. What was MS thinking? Even if a dev decides not to use MSAA they are still terribly limited. It's almost as if MS was expecting everyone to flock to using a very particular set of dev tools/APIs/methodologies to create their games. (or go through that much extra trouble on their end)


  25. #21
    Dedicated Member
    John Willaford's Avatar
    Join Date
    Feb 2013
    Location
    Owings Mills, MD
    Age
    40
    Posts
    1,082
    Rep Power
    21
    Points
    424,879 (0 Banked)
    Quote Originally Posted by D3seeker View Post
    Interesting. What was MS thinking? Even if a dev decides not to use MSAA they are still terribly limited. It's almost as if MS was expecting everyone to flock to using a very particular set of dev tools/APIs/methodologies to create their games. (or go through that much extra trouble on their end)
    HD was fine.

    We were all supposed to drink the SNAP Cool Aid.
    We're supposed to be talking to our Xbox One, giving them all of our personal info, ordering up dinner on it, changing TV channels with it while we browse MS approved sites for game info, which they will gather to push ads to us to sell us the game online, which we can store in the cloud when our tiny HDD's are full.
    FULL HD wasn't a thing for this system, keeping costs down and maximizing revenue streams by getting Windows into the living room , MAKE NO MISTAKE, was the purpose of this machine.

    You didn't need 1080p native graphics, and you weren't supposed to ask questions, because...

    It's Okay, ...

    WESAYSO!

    ... How Microsoft saw it:
    Wesaysoknows.jpg

    What Happened!
    Google-dinosaurs-WeSaySo-Corp-63085263905.jpg

    All Humor aside, i do think they felt that as long as it was 'HD' and things were scaling all the time in and out of SNAP , with things zoomed in and out, that scaling things was 'okay'.
    It got made an issue of.
    Moreso, they got caught with a far inferior piece of hardware from a graphics fill rate and compute stand point, probably more than they envisioned.
    Particularly, if SONY did goto GDDR5 or 8GB (or both) at the 11th hour, then the design choices MS made could have been obfuscated better by developers for them merely by just targeting XBO and not tossing more things out there on the PS4.
    If the PS4 had been DDR3 then this would be a non issue.
    If it was 4GB of GDDR5 then it 'would' be some issue, but the extra OS features would be more limited and MS would be stressing 8GB of memory.

    They just got hammered on both and it yields real world results and consequences.
    Last edited by John Willaford; 03-11-2014 at 07:26.
    Sleeping very soundly on a Saturday morning I was dreaming
    I was Al Capone
    There's a rumour going round, gotta clear outta town
    I'm smelling like a dry fish bone
    Here come the Law, gonna break down the door, gonna carry me
    away once more
    Never, never, never get it any more
    Gotta get away from this stone cold floor
    Crazy
    Stone cold crazy, you know

  26. #22
    Ultimate Veteran
    Lefein's Avatar
    Join Date
    Jun 2005
    Age
    34
    Posts
    23,056
    Rep Power
    195
    Points
    112,222 (0 Banked)
    Achievements IT'S OVER 9000!
    For multisampling and differed rendering, definitely not enough.

  27. #23
    Ultimate Veteran
    mickice's Avatar
    Join Date
    Oct 2006
    Location
    Australia, In a Kangaroo's pouch.
    Age
    27
    Posts
    22,124
    Rep Power
    130
    Points
    24,577 (40,000 Banked)
    Items PlayStationPS3 Slim
    Achievements IT'S OVER 9000!
    Let's put some hardware choices into the equation:
    EDRAM like the 360 would have required a secondary chip and would have given developers less control over its use.
    ESRAM is cheaper being built on the same chip as the CPU and GPU but I think they ran out of die space for anything bigger than 32mb even after gimping the GPU.

    SONY on the other hand did a completely ballsy move with 8gb of Gddr5, this could have backfired worse than the lack of Blu-Ray diode's the PS3 launch faced.
    Last edited by mickice; 03-11-2014 at 08:51.

    - Symmetrical thumb sticks for life -

  28. #24
    Forum Guru
    jlippone's Avatar
    Join Date
    Dec 2004
    Age
    37
    Posts
    3,826
    Rep Power
    87
    Points
    10,484 (0 Banked)
    Quote Originally Posted by mynd View Post
    -Snip-
    Couple of notes.

    The buffer used to show image to a monitor is called Front buffer, Back buffer is the one that is used for writing.
    It's the one that resides within in DDR if possible, there is minimal read/write.
    Location of camposition buffers and such depends if there is huge amounts of things to composite, few layers is not enough to justify usage of ESRAM.

    So For forward renderer the basic ESRAM use is for back and Z buffers, perhaps shadowmaps or something else you want. (transparencies, shadowmaps.. etc. (or if you are doing some silly things with lots of reads throw back buffer to DDR and ESRAM for silly things.))
    Alternatively 1080p 2xMSAA fits as it takes ~31.6MB.

    For deferred renderers G-buffer is a problem and the location of it or composition/light buffer can vary on workload. (it might be preferred to have G-buffer in DDR and lightingbuffer in ESRAM..

    Most important improvement from X360 to XO is that one can read and write from to DDR and ESRAM memory with GPU. (TEX, ALUs and ROPs have access to both memory spools.)

    Also Forza has 2xMSAA, but sadly the MSAA was done to a early buffer before most of the lighting/effects so it's pretty much invisible most of the time. (Similar to early UE3 games like Gears of War.)
    Last edited by jlippone; 03-11-2014 at 10:32.
    -------
    Couple of nice blog posts about OpenGL.
    The Truth on OpenGL Driver Quality
    Things that drive me nuts about OpenGL

  29. #25
    Supreme Veteran
    mynd's Avatar
    Join Date
    May 2006
    Location
    Down Under
    Age
    42
    Posts
    18,407
    Rep Power
    166
    Points
    208,710 (0 Banked)
    Items User name style
    Achievements IT'S OVER 9000!
    Quote Originally Posted by jlippone View Post
    Couple of notes.

    The buffer used to show image to a monitor is called Front buffer, Back buffer is the one that is used for writing.
    Correct, I'll fix that I messed that line up.
    It's the one that resides within in DDR if possible, there is minimal read/write.
    It doesn't have to on the Xbox One, and it may be that the extra time taken to copy it back is not worth it (hence I queried the move engines).
    We dont really know where it sits, but it ceretainly would alleviate ESRAM issues if it's not sitting in the ESRAM.
    Location of camposition buffers and such depends if there is huge amounts of things to composite, few layers is not enough to justify usage of ESRAM.

    So For forward renderer the basic ESRAM use is for back and Z buffers, perhaps shadowmaps or something else you want. (transparencies, shadowmaps.. etc. (or if you are doing some silly things with lots of reads throw back buffer to DDR and ESRAM for silly things.))
    Alternatively 1080p 2xMSAA fits as it takes ~31.6MB.
    So you suggesting the resolve sits in the DDR? Thats rather limiting because you instantly limiting all your ESRAM to DDR speed.

    For deferred renderers G-buffer is a problem and the location of it or composition/light buffer can vary on workload. (it might be preferred to have G-buffer in DDR and lightingbuffer in ESRAM..

    Most important improvement from X360 to XO is that one can read and write from to DDR and ESRAM memory with GPU. (TEX, ALUs and ROPs have access to both memory spools.)

    Also Forza has 2xMSAA, but sadly the MSAA was done to a early buffer before most of the lighting/effects so it's pretty much invisible most of the time. (Similar to early UE3 games like Gears of War.)
    Ive never seen anyone ever suggest Forza is 2xMSAA. In fact its aliasing from what Ive read is quite bad.

    But again, if your final resolve is on the DDR its possible, but as I say DDR3 speed, and mitigates most of what the ESRAM is trying to do (all be it in the final resolve only).

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
vBCredits II Deluxe v2.1.0 (Pro) - vBulletin Mods & Addons Copyright © 2010-2014 DragonByte Technologies Ltd.